blob: fa0965d4dff2c72aae897f9685f938acca5b6369 [file] [log] [blame]
/**
* <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 - [423676] AbstractIntegrationTestCase unable to remove project references that are no longer needed
*
* </copyright>
*/
package org.eclipse.sphinx.tests.emf.workspace.integration.loading;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.sphinx.emf.model.IModelDescriptor;
import org.eclipse.sphinx.emf.model.ModelDescriptorRegistry;
import org.eclipse.sphinx.emf.workspace.loading.ModelLoadManager;
import org.eclipse.sphinx.examples.hummingbird10.Hummingbird10MMDescriptor;
import org.eclipse.sphinx.examples.hummingbird20.Hummingbird20MMDescriptor;
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;
public class ModelLoadManagerTest extends DefaultIntegrationTestCase {
private int uml2ReferencedFiles_Of_HbProject20_E = 2;
List<String> hbProject10AResources10;
int resources10FromHbProject10_A;
List<String> hbProject20BResources20;
int resources20FromHbProject20_B;
List<String> hbProject20BResourcesUml2;
int resourcesUml2FromHbProject20_B;
List<String> hbProject20DResources20;
int resources20FromHbProject20_D;
List<String> hbProject20DResourcesUml2;
int resourcesUml2FromHbProject20_D;
List<String> hbProject20EResources20;
int resources20FromHbProject20_E;
List<String> hbProject20EResourcesUml2;
int resourcesUml2FromHbProject20_E;
public ModelLoadManagerTest() {
// Set subset of projects to load
Set<String> projectsToLoad = getProjectSubsetToLoad();
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
}
@Override
protected void setUp() throws Exception {
super.setUp();
hbProject10AResources10 = refWks
.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A, Hummingbird10MMDescriptor.INSTANCE);
resources10FromHbProject10_A = hbProject10AResources10.size();
hbProject20BResources20 = refWks
.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, Hummingbird20MMDescriptor.INSTANCE);
resources20FromHbProject20_B = hbProject20BResources20.size();
hbProject20BResourcesUml2 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, UML2MMDescriptor.INSTANCE);
resourcesUml2FromHbProject20_B = hbProject20BResourcesUml2.size();
hbProject20DResources20 = refWks
.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE);
resources20FromHbProject20_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);
resources20FromHbProject20_E = hbProject20EResources20.size();
hbProject20EResourcesUml2 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE);
resourcesUml2FromHbProject20_E = hbProject20EResourcesUml2.size();
}
// =================================================================================
// ========================== UNLOAD =============================================
// =================================================================================
/**
* Test method for {@link ModelLoadManager#unloadProjects(Collection, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
*
* @throws Exception
*/
public void testUnloadProjects() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
Collection<IProject> projectList20 = new ArrayList<IProject>();
projectList20.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
Collection<IProject> projectListMixed1020 = new ArrayList<IProject>();
projectListMixed1020.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectListMixed1020.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
/* Test cases */
// Unload projects without its referenced
ModelLoadManager.INSTANCE.unloadProjects(projectList20, false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
for (IProject project : projectList20) {
assertReferenceProjectAllResourcesNotLoaded(project.getName());
}
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// Unload projects including its referenced
ModelLoadManager.INSTANCE.unloadProjects(projectList20, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_D;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
for (IProject project : projectList20) {
assertReferenceProjectAllResourcesNotLoaded(project.getName());
}
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// Unload project collection: mixed HB10 and HB20 Projects
ModelLoadManager.INSTANCE.unloadProjects(projectListMixed1020, true, false, null);
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B;
editingDomain10ResourceCount = editingDomain10ResourceCount - resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
for (IProject project : projectListMixed1020) {
assertReferenceProjectAllResourcesNotLoaded(project.getName());
}
projectListMixed1020.clear();
projectList20.clear();
}
/**
* @throws InterruptedException
* @throws OperationCanceledException
* Test method for
* {@link ModelLoadManager#unloadProjects(Collection, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*/
public void testUnloadProjectsWithMMDescriptor() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
Collection<IProject> projectList20 = new ArrayList<IProject>();
projectList20.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
Collection<IProject> projectListMixed1020 = new ArrayList<IProject>();
projectListMixed1020.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectListMixed1020.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
/* Test cases */
// ==================================================================
// Unload projects without its referenced
// Unload Projects 20 with Hummingbird10MM
ModelLoadManager.INSTANCE.unloadProjects(projectList20, false, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Verify that resources were not unloaded
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// Unload Projects 20 with Hummingbird20MM
ModelLoadManager.INSTANCE.unloadProjects(projectList20, false, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Verify that resourcex20 in projects unloaded
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// ==================================================================
// Unload projects including its referenced
// Unload Projects 20 with Hummingbird10MM
ModelLoadManager.INSTANCE.unloadProjects(projectList20, true, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Verify that resources in projects were not unloaded
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// Unload Projects 20 with Hummingbird20MM
ModelLoadManager.INSTANCE.unloadProjects(projectList20, true, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Verify that resources in projects were unloaded
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// Unload Projects 20 with UML2MM
ModelLoadManager.INSTANCE.unloadProjects(projectList20, true, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Verify that resources in projects were unloaded
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E - resourcesUml2FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// ==================================================================
// Unload project collection: mixed HB10 and HB20 Projects
// Unload with Hummingbird10MM
ModelLoadManager.INSTANCE.unloadProjects(projectListMixed1020, true, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// Unload with Hummingbird20MM
ModelLoadManager.INSTANCE.unloadProjects(projectListMixed1020, true, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// Unload with UML2MM
ModelLoadManager.INSTANCE.unloadProjects(projectListMixed1020, true, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// Clear project lists
projectListMixed1020.clear();
projectList20.clear();
}
/**
* Test method for {@link ModelLoadManager#unloadProject(IProject, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testUnloadProject() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* Test cases */
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// ===============================================================
// Unload of a simple project
// HB20Project
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
// HB10Project
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A), true, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
// ===============================================================
// unload of a project and its referenced projects.
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E - resources20FromHbProject20_D;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E - resourcesUml2FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
}
/**
* Test method for
* {@link ModelLoadManager#unloadProject(IProject, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*/
public void testUnloadProjectWithMMDescriptor() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* Test cases */
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// ===============================================================
// Unload of a simple project
// HB10Project with its MMDescriptor
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A), true,
Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
// HB20Project
// -- with Hummingbird10MM
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
// -- with Hummingbird20MM
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// --with UML2MM
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// ===============================================================
// unload of a project and its referenced projects.
// -- with HB20MM
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E - resources20FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// ---with UML2MM
ModelLoadManager.INSTANCE.unloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E - resourcesUml2FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
}
/**
* Test method for
* {@link ModelLoadManager#unloadModels(Collection, boolean, org.eclipse.core.runtime.IProgressMonitor)
*/
public void testUnloadModels() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* Test cases */
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
List<IModelDescriptor> mixedModelList1020Uml2 = new ArrayList<IModelDescriptor>();
mixedModelList1020Uml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks
.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A)));
mixedModelList1020Uml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks
.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B)));
List<IModelDescriptor> modelList20 = new ArrayList<IModelDescriptor>();
modelList20.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E),
Hummingbird20MMDescriptor.INSTANCE));
List<IModelDescriptor> modelListUml2 = new ArrayList<IModelDescriptor>();
modelListUml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(
refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), UML2MMDescriptor.INSTANCE));
// ===============================================================
// Unload mixedModelList1020Uml2
ModelLoadManager.INSTANCE.unloadModels(mixedModelList1020Uml2, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B;
editingDomain10ResourceCount = editingDomain10ResourceCount - resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
// ===============================================================
ModelLoadManager.INSTANCE.unloadModels(modelList20, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E - resources20FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// ===============================================================
// unload of a project and its referenced projects.
ModelLoadManager.INSTANCE.unloadModels(modelListUml2, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E - resourcesUml2FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
}
/**
* Test method for
* {@link ModelLoadManager#unloadModels(Collection, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
* with 2nd argument is FALSE
*/
public void testUnloadModelsWithoutReferencedRoots() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* Test cases */
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
List<IModelDescriptor> modelList20Uml2 = new ArrayList<IModelDescriptor>();
modelList20Uml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks
.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E)));
// ===============================================================
ModelLoadManager.INSTANCE.unloadModels(modelList20Uml2, false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
}
/**
* Test method for
* {@link ModelLoadManager#unloadModel(org.eclipse.sphinx.emf.model.IModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*/
public void testUnloadModel() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* Test cases */
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
IModelDescriptor hb10Model_10A = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1));
IModelDescriptor hb20Model_20B = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1));
IModelDescriptor uml2Model_20B = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1));
IModelDescriptor hb20Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1));
IModelDescriptor uml2Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1));
// ===============================================================
// Unload model 10 in hbProject10A
ModelLoadManager.INSTANCE.unloadModel(hb10Model_10A, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
// ===============================================================
// Unload model 20 of hbProject20B
ModelLoadManager.INSTANCE.unloadModel(hb20Model_20B, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// Unload model Uml2 of hbProject20B
ModelLoadManager.INSTANCE.unloadModel(uml2Model_20B, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
// ===============================================================
ModelLoadManager.INSTANCE.unloadModel(hb20Model_20E, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E - resources20FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// ===============================================================
// unload of a project and its referenced projects.
ModelLoadManager.INSTANCE.unloadModel(uml2Model_20E, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E - resourcesUml2FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
}
/**
* Test method for
* {@link ModelLoadManager#unloadModel(org.eclipse.sphinx.emf.model.IModelDescriptor, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
* with 3rd argument is FALSE
*/
public void testUnloadModelWithoutReferencedRoots() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* Test cases */
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
IModelDescriptor hb20Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1));
IModelDescriptor uml2Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1));
// ===============================================================
ModelLoadManager.INSTANCE.unloadModel(hb20Model_20E, false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectResourcesLoaded(UML2MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
assertReferenceProjectResourcesNotLoaded(Hummingbird20MMDescriptor.INSTANCE, DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
// ===============================================================
// unload of a project and its referenced projects.
ModelLoadManager.INSTANCE.unloadModel(uml2Model_20E, false, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B);
assertReferenceProjectAllResourcesLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D);
assertReferenceProjectAllResourcesNotLoaded(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E);
}
/**
* Test method for
* {@link ModelLoadManager#unloadFiles(Collection, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*/
public void testUnloadFiles() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
Resource resource20_B_1 = null;
Resource resource20_B_2 = null;
Resource resource20_B_3 = null;
Resource resource10_A_1 = null;
Resource resource10_A_2 = null;
Resource resource10_A_3 = null;
Resource resource20_D_1 = null;
Resource resource20_D_2 = null;
Resource resource20_D_3 = null;
for (Resource res : refWks.editingDomain20.getResourceSet().getResources()) {
if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1.equals(res.getURI().lastSegment())) {
resource20_B_1 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2.equals(res.getURI().lastSegment())) {
resource20_B_2 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3.equals(res.getURI().lastSegment())) {
resource20_B_3 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1.equals(res.getURI().lastSegment())) {
resource20_D_1 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2.equals(res.getURI().lastSegment())) {
resource20_D_2 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3.equals(res.getURI().lastSegment())) {
resource20_D_3 = res;
}
}
for (Resource res : refWks.editingDomain10.getResourceSet().getResources()) {
if (DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1.equals(res.getURI().lastSegment())) {
resource10_A_1 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2.equals(res.getURI().lastSegment())) {
resource10_A_2 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3.equals(res.getURI().lastSegment())) {
resource10_A_3 = res;
}
}
assertNotNull(resource20_B_1);
assertNotNull(resource20_B_2);
assertNotNull(resource20_B_3);
assertNotNull(resource10_A_1);
assertNotNull(resource10_A_2);
assertNotNull(resource10_A_3);
assertNotNull(resource20_D_1);
assertNotNull(resource20_D_2);
assertNotNull(resource20_D_3);
IFile file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertNotNull(file_Project20_B_1);
assertNotNull(file_Project20_B_2);
assertNotNull(file_Project20_B_3);
assertNotNull(file_Project20_D_1);
assertNotNull(file_Project20_D_2);
assertNotNull(file_Project20_D_3);
assertNotNull(file_Project10_A_1);
assertNotNull(file_Project10_A_2);
assertNotNull(file_Project10_A_3);
Collection<IFile> filesList_20_Only = new ArrayList<IFile>();
filesList_20_Only.add(file_Project20_B_1);
filesList_20_Only.add(file_Project20_B_2);
Collection<IFile> filesList_10_Only = new ArrayList<IFile>();
filesList_10_Only.add(file_Project10_A_1);
Collection<IFile> filesList_10_20_Mixed_1 = new ArrayList<IFile>();
filesList_10_20_Mixed_1.add(file_Project20_B_3);
filesList_10_20_Mixed_1.add(file_Project10_A_2);
Collection<IFile> filesList_10_20_Mixed_2 = new ArrayList<IFile>();
filesList_10_20_Mixed_2.add(file_Project20_D_1);
filesList_10_20_Mixed_2.add(file_Project20_D_2);
filesList_10_20_Mixed_2.add(file_Project20_D_3);
filesList_10_20_Mixed_2.add(file_Project10_A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_3);
ModelLoadManager.INSTANCE.unloadFiles(filesList_20_Only, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - filesList_20_Only.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_3);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_3);
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_Only, true, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - filesList_10_Only.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, resource10_A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_3);
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_20_Mixed_1, true, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - 1;
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, resource10_A_2);
}
/**
* Test method for
* {@link ModelLoadManager#unloadFiles(Collection, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*/
public void testUnloadFilesWithMMDescriptor() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
Resource resource20_B_1 = null;
Resource resource20_B_2 = null;
Resource resource20_B_3 = null;
Resource resource10_A_1 = null;
Resource resource10_A_2 = null;
Resource resource10_A_3 = null;
Resource resource20_D_1 = null;
Resource resource20_D_2 = null;
Resource resource20_D_3 = null;
for (Resource res : refWks.editingDomain20.getResourceSet().getResources()) {
if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1.equals(res.getURI().lastSegment())) {
resource20_B_1 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2.equals(res.getURI().lastSegment())) {
resource20_B_2 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3.equals(res.getURI().lastSegment())) {
resource20_B_3 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1.equals(res.getURI().lastSegment())) {
resource20_D_1 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2.equals(res.getURI().lastSegment())) {
resource20_D_2 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3.equals(res.getURI().lastSegment())) {
resource20_D_3 = res;
}
}
for (Resource res : refWks.editingDomain10.getResourceSet().getResources()) {
if (DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1.equals(res.getURI().lastSegment())) {
resource10_A_1 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2.equals(res.getURI().lastSegment())) {
resource10_A_2 = res;
} else if (DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3.equals(res.getURI().lastSegment())) {
resource10_A_3 = res;
}
}
assertNotNull(resource20_B_1);
assertNotNull(resource20_B_2);
assertNotNull(resource20_B_3);
assertNotNull(resource10_A_1);
assertNotNull(resource10_A_2);
assertNotNull(resource10_A_3);
assertNotNull(resource20_D_1);
assertNotNull(resource20_D_2);
assertNotNull(resource20_D_3);
IFile file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertNotNull(file_Project20_B_1);
assertNotNull(file_Project20_B_2);
assertNotNull(file_Project20_B_3);
assertNotNull(file_Project20_D_1);
assertNotNull(file_Project20_D_2);
assertNotNull(file_Project20_D_3);
assertNotNull(file_Project10_A_1);
assertNotNull(file_Project10_A_2);
assertNotNull(file_Project10_A_3);
Collection<IFile> filesList_20_Only = new ArrayList<IFile>();
filesList_20_Only.add(file_Project20_B_1);
filesList_20_Only.add(file_Project20_B_2);
Collection<IFile> filesList_10_Only = new ArrayList<IFile>();
filesList_10_Only.add(file_Project10_A_1);
Collection<IFile> filesList_10_20_Mixed_1 = new ArrayList<IFile>();
filesList_10_20_Mixed_1.add(file_Project20_B_3);
filesList_10_20_Mixed_1.add(file_Project10_A_2);
Collection<IFile> filesList_10_20_Mixed_2 = new ArrayList<IFile>();
filesList_10_20_Mixed_2.add(file_Project20_D_1);
filesList_10_20_Mixed_2.add(file_Project20_D_2);
filesList_10_20_Mixed_2.add(file_Project20_D_3);
filesList_10_20_Mixed_2.add(file_Project10_A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_3);
// ==============================================
// Unload hb20 files with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.unloadFiles(filesList_20_Only, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
// Verify that no resource was unloaded
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// Unload hb20 files with Hummingbird20MMDescriptor
ModelLoadManager.INSTANCE.unloadFiles(filesList_20_Only, Hummingbird20MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - filesList_20_Only.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_3);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_3);
// ==============================================
// Unload hb10 files with Uml2MM
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_Only, UML2MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
// verify that no resource was unloaded
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// Unload hb10 files with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_Only, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - filesList_10_Only.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, resource10_A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, resource10_A_3);
// ==============================================
// Unload mixed models with various releases with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_20_Mixed_1, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, resource10_A_2);
// Unload mixed models with various release with Hummingbird20MMDescriptor
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_20_Mixed_1, Hummingbird20MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, resource10_A_2);
// ==============================================
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_20_Mixed_2, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, resource20_D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, resource10_A_3);
ModelLoadManager.INSTANCE.unloadFiles(filesList_10_20_Mixed_2, Hummingbird20MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 3;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, resource20_D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, resource10_A_3);
filesList_10_20_Mixed_2.clear();
filesList_10_20_Mixed_1.clear();
filesList_10_Only.clear();
filesList_20_Only.clear();
}
/**
* Test method for {@link ModelLoadManager#unloadFile(IFile, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testUnloadFile() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile hb_file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
IFile uml2_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
assertNotNull(uml2_file_Project20_B_3);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project20_D_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(hb_file_Project10_A_2);
assertNotNull(hb_file_Project10_A_3);
/* test unload file with file only */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project20_B_1, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_B_1.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_B_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_B_3.getName());
/* test unload file with file only */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project20_B_2, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_B_1.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_B_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_B_3.getName());
/* test unload file with file only */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project20_B_3, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_B_1.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_B_2.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_B_3.getName());
/* test unload file with file only */
ModelLoadManager.INSTANCE.unloadFile(uml2_file_Project20_B_1, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, uml2_file_Project20_B_1.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_2.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_3.getName());
/* same tests for Hummingbird10 project */
/* test unload file with file only */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project10_A_1, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, hb_file_Project10_A_1.getName());
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_3.getName());
/* test unload file with file only */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project10_A_2, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, hb_file_Project10_A_1.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, hb_file_Project10_A_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_3.getName());
/* test unload file with file only */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project10_A_3, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, hb_file_Project10_A_1.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, hb_file_Project10_A_2.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, hb_file_Project10_A_3.getName());
}
/**
* Test method for {@link ModelLoadManager#unloadFile(IFile, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testUnloadFileWithMMDescriptor() throws Exception {
/* Creation of test variables */
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile hb_file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
IFile uml2_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
assertNotNull(uml2_file_Project20_B_3);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project20_D_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(hb_file_Project10_A_2);
assertNotNull(hb_file_Project10_A_3);
/* test unload file withfile and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(uml2_file_Project20_B_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_1.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_2.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_3.getName());
/* test unload file withfile and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(uml2_file_Project20_B_1, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_1.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_2.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_3.getName());
/* test unload file withfile and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(uml2_file_Project20_B_1, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, uml2_file_Project20_B_1.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_2.getName());
assertEditingDomainContainsResource(refWks.editingDomainUml2, uml2_file_Project20_B_3.getName());
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project20_D_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_D_1.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_D_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_D_3.getName());
/* test unload file with file and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project20_D_1, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_D_1.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_D_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_D_3.getName());
/* test unload file with file and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project20_D_2, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_D_1.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_D_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain20, hb_file_Project20_D_3.getName());
/* test unload file with file and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project20_D_3, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_D_1.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_D_2.getName());
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, hb_file_Project20_D_3.getName());
/* same tests for Hummingbird10 project */
/* test unload file with file and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project10_A_1, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_1.getName());
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_3.getName());
/* test unload file with file and metamodel descriptor */
ModelLoadManager.INSTANCE.unloadFile(hb_file_Project10_A_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount - 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, hb_file_Project10_A_1.getName());
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_2.getName());
assertEditingDomainContainsResource(refWks.editingDomain10, hb_file_Project10_A_3.getName());
}
// =================================================================================
// ========================== LOAD =================================================
// =================================================================================
/**
* Test method for {@link ModelLoadManager#loadFile(IFile, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadFile() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
/* Test cases */
// =======================================================
/* Load file HB 20 */
ModelLoadManager.INSTANCE.loadFile(hb_file_Project20_B_1, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
// --------------------
ModelLoadManager.INSTANCE.loadFile(hb_file_Project20_B_2, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
// --------------------
ModelLoadManager.INSTANCE.loadFile(hb_file_Project20_B_3, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
// =======================================================
/* Load file Uml2 file */
ModelLoadManager.INSTANCE.loadFile(uml2_file_Project20_B_1, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
// --------------------
ModelLoadManager.INSTANCE.loadFile(uml2_file_Project20_B_2, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
// =======================================================
/* Load file HB 10 file */
ModelLoadManager.INSTANCE.loadFile(hb_file_Project10_A_1, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
}
/**
* Test method for {@link ModelLoadManager#loadFile(IFile, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadFileWithMMDescriptor() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile uml2_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(uml2_file_Project20_D_1);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
/* Test cases */
// ===========================================
/* Load HB 20 file with metamodelDescriptor */
ModelLoadManager.INSTANCE.loadFile(hb_file_Project20_D_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
// -----------------
ModelLoadManager.INSTANCE.loadFile(hb_file_Project20_D_1, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
// ----------------
ModelLoadManager.INSTANCE.loadFile(hb_file_Project20_D_1, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
// ====================================================
/* Load Uml2 file with metamodelDescriptor */
ModelLoadManager.INSTANCE.loadFile(uml2_file_Project20_D_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
// -------------------------
ModelLoadManager.INSTANCE.loadFile(uml2_file_Project20_D_1, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
// -------------------------
ModelLoadManager.INSTANCE.loadFile(uml2_file_Project20_D_1, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
// ===================================
/* Load HB 10 file with metamodelDescriptor */
ModelLoadManager.INSTANCE.loadFile(hb_file_Project10_A_1, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
// --------------------------
ModelLoadManager.INSTANCE.loadFile(hb_file_Project10_A_1, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
// ------------------------------
ModelLoadManager.INSTANCE.loadFile(hb_file_Project10_A_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
}
/**
* Test method for {@link ModelLoadManager#loadFiles(Collection, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadFiles() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile hb_file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
IFile uml2_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
IFile uml2_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
IFile uml2_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project20_D_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(hb_file_Project10_A_2);
assertNotNull(hb_file_Project10_A_3);
assertNotNull(uml2_file_Project20_D_1);
assertNotNull(uml2_file_Project20_D_2);
assertNotNull(uml2_file_Project20_D_3);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
assertNotNull(uml2_file_Project20_B_3);
Collection<IFile> hb_20_files = new ArrayList<IFile>();
hb_20_files.add(hb_file_Project20_B_1);
hb_20_files.add(hb_file_Project20_D_1);
Collection<IFile> hb_10_files = new ArrayList<IFile>();
hb_10_files.add(hb_file_Project10_A_1);
Collection<IFile> hb_10_20_files = new ArrayList<IFile>();
hb_10_20_files.add(hb_file_Project10_A_2);
hb_10_20_files.add(hb_file_Project20_B_2);
Collection<IFile> uml2_files = new ArrayList<IFile>();
uml2_files.add(uml2_file_Project20_B_1);
uml2_files.add(uml2_file_Project20_D_1);
Collection<IFile> uml2_hb_10_20_files = new ArrayList<IFile>();
uml2_hb_10_20_files.add(hb_file_Project10_A_3);
uml2_hb_10_20_files.add(hb_file_Project20_B_3);
uml2_hb_10_20_files.add(hb_file_Project20_D_2);
uml2_hb_10_20_files.add(uml2_file_Project20_B_2);
uml2_hb_10_20_files.add(uml2_file_Project20_D_2);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
/* load file with file only */
ModelLoadManager.INSTANCE.loadFiles(hb_20_files, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + hb_20_files.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
ModelLoadManager.INSTANCE.loadFiles(hb_10_files, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + hb_10_files.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
ModelLoadManager.INSTANCE.loadFiles(uml2_files, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2_files.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
ModelLoadManager.INSTANCE.loadFiles(hb_10_20_files, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + 1;
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
ModelLoadManager.INSTANCE.loadFiles(uml2_hb_10_20_files, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + 1;
editingDomain20ResourceCount = editingDomain20ResourceCount + 2;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 2;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
}
/**
* Test method for {@link ModelLoadManager#loadFiles(Collection, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadFilesWithMMDescriptor() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project10_A_3);
assertNotNull(uml2_file_Project20_D_2);
assertNotNull(uml2_file_Project20_B_2);
Collection<IFile> uml2_hb_10_20_files = new ArrayList<IFile>();
uml2_hb_10_20_files.add(hb_file_Project10_A_3);
uml2_hb_10_20_files.add(hb_file_Project20_B_3);
uml2_hb_10_20_files.add(hb_file_Project20_D_2);
uml2_hb_10_20_files.add(uml2_file_Project20_B_2);
uml2_hb_10_20_files.add(uml2_file_Project20_D_2);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
/* load file with file and metamodel descriptor */
ModelLoadManager.INSTANCE.loadFiles(uml2_hb_10_20_files, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
ModelLoadManager.INSTANCE.loadFiles(uml2_hb_10_20_files, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 2;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
ModelLoadManager.INSTANCE.loadFiles(uml2_hb_10_20_files, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 2;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
}
/**
* Test method for {@link ModelLoadManager#loadProject(IProject, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadProject() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
/* Since all resources previously in the workspace are unloaded we can start testing loadProject method */
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_B;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A), false, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_E;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_E + uml2ReferencedFiles_Of_HbProject20_E;
// referenced files of HB_PROJECT_20_D were loaded also :UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_D;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E + resourcesUml2FromHbProject20_D;
// Remove duplicated files in HB_PROJECT_20_D
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
projectsTestToUnload.clear();
}
/**
* Test method for {@link ModelLoadManager#loadProject(IProject, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadProjectWithMMDescriptor() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
/* Since all resources previously in the workspace are unloaded we can start testing loadProject method */
// =======================================================================
// Load Project 20 with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// No resource were loaded
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// Load project 20B with Hummingbird20MMDescriptor
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// Load project 20B with uml2MM
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// =======================================================================
// Load hb10 project with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A), false,
Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// =======================================================================
// Case of references
// Load project with hb20 release
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), false,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_E;
// referenced files of HB_PROJECT_20_D were loaded also :UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// -----------------
// Load project with Uml2 release
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), false,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_E + uml2ReferencedFiles_Of_HbProject20_E;
// referenced files of HB_PROJECT_20_D were loaded also :UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// ---------------------
// Load project include referenced project
// --with hb20 release
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_D;
// Remove duplicated files in HB_PROJECT_20_D
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// --with UML2MM
ModelLoadManager.INSTANCE.loadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E + resourcesUml2FromHbProject20_D;
// Remove duplicated files in HB_PROJECT_20_D
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
projectsTestToUnload.clear();
}
/**
* Test method for {@link ModelLoadManager#loadProjects(Collection, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadProjects() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
Collection<IProject> project20List = new ArrayList<IProject>();
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
Collection<IProject> project10List = new ArrayList<IProject>();
project10List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
ModelLoadManager.INSTANCE.loadProjects(project20List, false, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird10MMDescriptor.INSTANCE).size();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird20MMDescriptor.INSTANCE).size();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(project.getName(), UML2MMDescriptor.INSTANCE).size();
}
// Uml2 Resource should add 2 referenced files of HB_PROJECT_20_E in HB_PROJECT_20_D(
// UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2)
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2ReferencedFiles_Of_HbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// ===========================================
// Load projects include references
ModelLoadManager.INSTANCE.loadProjects(project20List, true, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird10MMDescriptor.INSTANCE).size();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size();
// Uml2 resource need to remove duplicated files
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// ====================================
// Load hb10 projects
ModelLoadManager.INSTANCE.loadProjects(project10List, false, false, null);
waitForModelLoading();
for (IProject project : project10List) {
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird10MMDescriptor.INSTANCE).size();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird20MMDescriptor.INSTANCE).size();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(project.getName(), UML2MMDescriptor.INSTANCE).size();
}
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
project20List.clear();
project10List.clear();
}
/**
* Test method for {@link ModelLoadManager#loadProjects(Collection, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadProjectsWithMMDescriptor() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, 0);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, 0);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, 0);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
Collection<IProject> project20List = new ArrayList<IProject>();
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
Collection<IProject> project10List = new ArrayList<IProject>();
project10List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
// ==================================
// Load 20 projects with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.loadProjects(project20List, false, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird10MMDescriptor.INSTANCE).size();
}
// No resource was loaded
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// -----------------
// Load hb20 projects with Hummingbird20MMDescriptor
ModelLoadManager.INSTANCE.loadProjects(project20List, false, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird20MMDescriptor.INSTANCE).size();
}
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// ----------------------------
// Load hb20 Projects with Uml2MM
ModelLoadManager.INSTANCE.loadProjects(project20List, false, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(project.getName(), UML2MMDescriptor.INSTANCE).size();
}
// Uml2 Resource should add 2 referenced files of HB_PROJECT_20_E in HB_PROJECT_20_D(
// UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2)
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2ReferencedFiles_Of_HbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// ===========================================
// Load projects include references
// --load with hb20MM
ModelLoadManager.INSTANCE.loadProjects(project20List, true, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// --load with Uml2MM
ModelLoadManager.INSTANCE.loadProjects(project20List, true, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Uml2 resource need to remove duplicated files
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E + resourcesUml2FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// ====================================
// Load hb10 projecs
ModelLoadManager.INSTANCE.loadProjects(project10List, false, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project10List) {
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird10MMDescriptor.INSTANCE).size();
}
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
project20List.clear();
project10List.clear();
}
/**
* Test method for
* {@link ModelLoadManager#loadModel(org.eclipse.sphinx.emf.model.IModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadModel() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
IModelDescriptor hb10Model_10A = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1));
IModelDescriptor hb20Model_20B = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1));
IModelDescriptor uml2Model_20B = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1));
IModelDescriptor hb20Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1));
IModelDescriptor uml2Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1));
assertNotNull(hb10Model_10A);
assertNotNull(hb20Model_20B);
assertNotNull(uml2Model_20B);
assertNotNull(hb20Model_20E);
assertNotNull(uml2Model_20E);
// =======================================
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
// --load hb20 model
ModelLoadManager.INSTANCE.loadModel(hb20Model_20B, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// --load uml2 model
ModelLoadManager.INSTANCE.loadModel(uml2Model_20B, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// =======================================
// load hb10 model
ModelLoadManager.INSTANCE.loadModel(hb10Model_10A, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount + resources10FromHbProject10_A;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// =======================================
// --load hb20Model in hbProject20E
ModelLoadManager.INSTANCE.loadModel(hb20Model_20E, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_E + resources20FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// -- load uml2Model in hbProject20E
ModelLoadManager.INSTANCE.loadModel(uml2Model_20E, false, null);
waitForModelLoading();
// Uml2 Resource of referenced files in HB_PROJECT_20_D were loaded also (UML2_FILE_NAME_20D_1,
// UML2_FILE_NAME_20D_2)
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
projectsTestToUnload.clear();
}
/**
* Test method for
* {@link ModelLoadManager#loadModel(org.eclipse.sphinx.emf.model.IModelDescriptor, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadModelWithoutReferencedRoots() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
IModelDescriptor hb20Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1));
IModelDescriptor uml2Model_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.getReferenceFile(
DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1));
assertNotNull(hb20Model_20E);
assertNotNull(uml2Model_20E);
// =================================
// Load hb20Model including referenced roots
ModelLoadManager.INSTANCE.loadModel(hb20Model_20E, false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Load Uml2Model including referenced roots
ModelLoadManager.INSTANCE.loadModel(uml2Model_20E, false, false, null);
waitForModelLoading();
// Removed duplicated files of HB_PROJECR_20_D
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_E + uml2ReferencedFiles_Of_HbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
projectsTestToUnload.clear();
}
/**
* Test method for {@link ModelLoadManager#loadModels(Collection, boolean, org.eclipse.core.runtime.IProgressMonitor).
*
* @throws Exception
*/
public void testLoadModels() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
List<IModelDescriptor> mixedModelList1020Uml2 = new ArrayList<IModelDescriptor>();
mixedModelList1020Uml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks
.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A)));
mixedModelList1020Uml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks
.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B)));
List<IModelDescriptor> modelList20 = new ArrayList<IModelDescriptor>();
modelList20.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E),
Hummingbird20MMDescriptor.INSTANCE));
List<IModelDescriptor> modelListUml2 = new ArrayList<IModelDescriptor>();
modelListUml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(
refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), UML2MMDescriptor.INSTANCE));
// =====================================
// Load mixedModelList1020Uml2
ModelLoadManager.INSTANCE.loadModels(mixedModelList1020Uml2, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_B;
editingDomain10ResourceCount = editingDomain10ResourceCount + resources10FromHbProject10_A;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// ======================================
// Load modelist20 without referenced roots
ModelLoadManager.INSTANCE.loadModels(modelList20, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_E + resources20FromHbProject20_D;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// =====================================
// Load modeListUml2 without referenced roots
ModelLoadManager.INSTANCE.loadModels(modelListUml2, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E;
// Referenced files in HbProject20D were also loaded: UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
mixedModelList1020Uml2.clear();
modelList20.clear();
modelListUml2.clear();
}
/**
* Test method for {@link ModelLoadManager#loadModels(Collection, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
* with 2nd argument is FALSE
* @throws Exception
*/
public void testLoadModelsWithoutReferencedRoots() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
List<IModelDescriptor> mixedModelList1020Uml2 = new ArrayList<IModelDescriptor>();
mixedModelList1020Uml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks
.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A)));
mixedModelList1020Uml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks
.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B)));
List<IModelDescriptor> modelList20 = new ArrayList<IModelDescriptor>();
modelList20.addAll(ModelDescriptorRegistry.INSTANCE.getModels(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E),
Hummingbird20MMDescriptor.INSTANCE));
List<IModelDescriptor> modelListUml2 = new ArrayList<IModelDescriptor>();
modelListUml2.addAll(ModelDescriptorRegistry.INSTANCE.getModels(
refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), UML2MMDescriptor.INSTANCE));
// =====================================
// Load mixedModelList1020Uml2
ModelLoadManager.INSTANCE.loadModels(mixedModelList1020Uml2, false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_B;
editingDomain10ResourceCount = editingDomain10ResourceCount + resources10FromHbProject10_A;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_B;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
// ======================================
// Load modelist20 without referenced roots
ModelLoadManager.INSTANCE.loadModels(modelList20, false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + resources20FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// =====================================
// Load modeListUml2 without referenced roots
ModelLoadManager.INSTANCE.loadModels(modelListUml2, false, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + resourcesUml2FromHbProject20_E + uml2ReferencedFiles_Of_HbProject20_E;
// Referenced files in HbProject20D were also loaded: UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
mixedModelList1020Uml2.clear();
modelList20.clear();
modelListUml2.clear();
}
/**
* Test method for {@link ModelLoadManager#loadAllProjects(org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor).
*
* @throws Exception
*/
public void testLoadAllProjects() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
ModelLoadManager.INSTANCE.loadAllProjects(Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.loadAllProjects(UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.loadAllProjects(Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
}
/**
* Test method for {@link ModelLoadManager#loadWorkspace(boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testLoadWorkspace() throws Exception {
int editingDomain10ResourceCount = 0;
int editingDomain20ResourceCount = 0;
int editingDomainUml2ResourceCount = 0;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
ModelLoadManager.INSTANCE.loadWorkspace(false, null);
waitForModelLoading();
editingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
editingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
editingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
projectsTestToUnload.clear();
}
// =================================================================================
// ========================== RELOAD ============================================
// =================================================================================
/**
* Test method for {@link ModelLoadManager#reloadFile(IFile, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadFile() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile hb_file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
IFile uml2_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
assertNotNull(uml2_file_Project20_B_3);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project20_D_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(hb_file_Project10_A_2);
assertNotNull(hb_file_Project10_A_3);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B - resources20FromHbProject20_D
- resources20FromHbProject20_E;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B - resourcesUml2FromHbProject20_D
- resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
ModelLoadManager.INSTANCE.reloadFile(hb_file_Project20_B_1, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFile(hb_file_Project20_B_2, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload loaded file
ModelLoadManager.INSTANCE.reloadFile(hb_file_Project10_A_2, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload Uml2 file
ModelLoadManager.INSTANCE.reloadFile(uml2_file_Project20_B_2, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
}
/**
* Test method for {@link ModelLoadManager#reloadFile(IFile, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadFileWithMMDescriptor() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile hb_file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
IFile uml2_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
assertNotNull(uml2_file_Project20_B_3);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project20_D_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(hb_file_Project10_A_2);
assertNotNull(hb_file_Project10_A_3);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B - resources20FromHbProject20_D
- resources20FromHbProject20_E;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B - resourcesUml2FromHbProject20_D
- resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
// Reload hb20 file with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.reloadFile(hb_file_Project20_B_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload hb20File with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.reloadFile(hb_file_Project20_B_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload hb20File with Hummingbird20MMDescriptor
ModelLoadManager.INSTANCE.reloadFile(hb_file_Project20_B_1, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload Uml2 file with UML2MM
ModelLoadManager.INSTANCE.reloadFile(uml2_file_Project20_B_1, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload loaded file
ModelLoadManager.INSTANCE.reloadFile(uml2_file_Project20_B_1, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload loaded Uml2 file with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.reloadFile(uml2_file_Project20_B_1, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
}
/**
* Test method for {@link ModelLoadManager#reloadFiles(Collection, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadFiles() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile hb_file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
IFile uml2_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
IFile uml2_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
IFile uml2_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project20_D_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(hb_file_Project10_A_2);
assertNotNull(hb_file_Project10_A_3);
assertNotNull(uml2_file_Project20_D_1);
assertNotNull(uml2_file_Project20_D_2);
assertNotNull(uml2_file_Project20_D_3);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
assertNotNull(uml2_file_Project20_B_3);
Collection<IFile> hb_20_files = new ArrayList<IFile>();
hb_20_files.add(hb_file_Project20_B_1);
hb_20_files.add(hb_file_Project20_D_1);
Collection<IFile> hb_10_files = new ArrayList<IFile>();
hb_10_files.add(hb_file_Project10_A_1);
Collection<IFile> hb_10_20_files = new ArrayList<IFile>();
hb_10_20_files.add(hb_file_Project10_A_2);
hb_10_20_files.add(hb_file_Project20_B_2);
Collection<IFile> uml2_files = new ArrayList<IFile>();
uml2_files.add(uml2_file_Project20_B_1);
uml2_files.add(uml2_file_Project20_D_1);
Collection<IFile> uml2_hb_10_20_files = new ArrayList<IFile>();
uml2_hb_10_20_files.add(hb_file_Project10_A_3);
uml2_hb_10_20_files.add(hb_file_Project20_B_3);
uml2_hb_10_20_files.add(hb_file_Project20_D_2);
uml2_hb_10_20_files.add(uml2_file_Project20_B_2);
uml2_hb_10_20_files.add(uml2_file_Project20_D_2);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B - resources20FromHbProject20_D
- resources20FromHbProject20_E;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B - resourcesUml2FromHbProject20_D
- resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
ModelLoadManager.INSTANCE.reloadFiles(hb_20_files, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + hb_20_files.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload loaded file
ModelLoadManager.INSTANCE.reloadFiles(hb_10_files, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(uml2_files, true, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2_files.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(hb_10_20_files, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(uml2_hb_10_20_files, true, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 2;
editingDomain20ResourceCount = editingDomain20ResourceCount + 2;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
}
/**
* Test method for {@link ModelLoadManager#reloadFiles(Collection, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadFilesWithMMDescriptor() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
IFile hb_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
IFile hb_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
IFile hb_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
IFile hb_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
IFile hb_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
IFile hb_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
IFile hb_file_Project10_A_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
IFile hb_file_Project10_A_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
IFile hb_file_Project10_A_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A).getFile(
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
IFile uml2_file_Project20_D_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
IFile uml2_file_Project20_D_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
IFile uml2_file_Project20_D_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
IFile uml2_file_Project20_B_1 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
IFile uml2_file_Project20_B_2 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
IFile uml2_file_Project20_B_3 = refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B).getFile(
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertNotNull(hb_file_Project20_B_1);
assertNotNull(hb_file_Project20_B_2);
assertNotNull(hb_file_Project20_B_3);
assertNotNull(hb_file_Project20_D_1);
assertNotNull(hb_file_Project20_D_2);
assertNotNull(hb_file_Project20_D_3);
assertNotNull(hb_file_Project10_A_1);
assertNotNull(hb_file_Project10_A_2);
assertNotNull(hb_file_Project10_A_3);
assertNotNull(uml2_file_Project20_D_1);
assertNotNull(uml2_file_Project20_D_2);
assertNotNull(uml2_file_Project20_D_3);
assertNotNull(uml2_file_Project20_B_1);
assertNotNull(uml2_file_Project20_B_2);
assertNotNull(uml2_file_Project20_B_3);
Collection<IFile> hb_20_files = new ArrayList<IFile>();
hb_20_files.add(hb_file_Project20_B_1);
hb_20_files.add(hb_file_Project20_D_1);
Collection<IFile> hb_10_files = new ArrayList<IFile>();
hb_10_files.add(hb_file_Project10_A_1);
Collection<IFile> hb_10_20_files = new ArrayList<IFile>();
hb_10_20_files.add(hb_file_Project10_A_2);
hb_10_20_files.add(hb_file_Project20_B_2);
Collection<IFile> uml2_files = new ArrayList<IFile>();
uml2_files.add(uml2_file_Project20_B_1);
uml2_files.add(uml2_file_Project20_D_1);
Collection<IFile> uml2_hb_10_20_files = new ArrayList<IFile>();
uml2_hb_10_20_files.add(hb_file_Project10_A_3);
uml2_hb_10_20_files.add(hb_file_Project20_B_3);
uml2_hb_10_20_files.add(hb_file_Project20_D_2);
uml2_hb_10_20_files.add(uml2_file_Project20_B_2);
uml2_hb_10_20_files.add(uml2_file_Project20_D_2);
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount - resources20FromHbProject20_B - resources20FromHbProject20_D
- resources20FromHbProject20_E;
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - resourcesUml2FromHbProject20_B - resourcesUml2FromHbProject20_D
- resourcesUml2FromHbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
// Reload hb20File with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.reloadFiles(hb_20_files, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// Reload hb20Files with Uml2MMDescriptor
ModelLoadManager.INSTANCE.reloadFiles(hb_20_files, UML2MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
// Reload hb20Files with Hummingbird20MMDescriptor
ModelLoadManager.INSTANCE.reloadFiles(hb_20_files, Hummingbird20MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + hb_20_files.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload loaded files
ModelLoadManager.INSTANCE.reloadFiles(hb_10_files, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
// Reload UML2 files with Hummingbird10MMDescriptor
ModelLoadManager.INSTANCE.reloadFiles(uml2_files, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(uml2_files, UML2MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2_files.size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(hb_10_20_files, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(hb_10_20_files, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(hb_10_20_files, Hummingbird20MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 1;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(uml2_hb_10_20_files, Hummingbird10MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(uml2_hb_10_20_files, Hummingbird20MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount + 2;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadFiles(uml2_hb_10_20_files, UML2MMDescriptor.INSTANCE, true, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + 2;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
}
/**
* Test method for
* {@link ModelLoadManager#reloadModel(IProject, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)(IProject, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)(IProject, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadModel() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, Hummingbird20MMDescriptor.INSTANCE).size();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, Hummingbird20MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A), false,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A), false,
Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), false,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, Hummingbird20MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), false,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Referenced files in HB_PROJECT_20_D are aslo loaded:UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2ReferencedFiles_Of_HbProject20_E
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true,
Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true,
UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Remove duplicate files in HB_PROJECT_20_D
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
projectsTestToUnload.clear();
}
/**
* Test method for {@link ModelLoadManager#reloadProject(IProject, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadProject() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, Hummingbird20MMDescriptor.INSTANCE).size();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B), false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, Hummingbird20MMDescriptor.INSTANCE).size();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A), false, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), false, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, Hummingbird20MMDescriptor.INSTANCE).size();
// Referenced files in HB_PROJECT_20_D were also loaded
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2ReferencedFiles_Of_HbProject20_E
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
ModelLoadManager.INSTANCE.reloadProject(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E), true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size();
// Remove duplicate files in HB_PROJECT_20_D
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
projectsTestToUnload.clear();
}
/**
* Test method for
* {@link ModelLoadManager#reloadProjects(Collection, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadProjects() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, Hummingbird20MMDescriptor.INSTANCE).size();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
Collection<IProject> project20List = new ArrayList<IProject>();
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
Collection<IProject> project10List = new ArrayList<IProject>();
project10List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
ModelLoadManager.INSTANCE.reloadProjects(project20List, false, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(project.getName(), UML2MMDescriptor.INSTANCE).size();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird20MMDescriptor.INSTANCE).size();
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird10MMDescriptor.INSTANCE).size();
}
// Referenced files of HB_PROJECT_20_D were also loaded
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2ReferencedFiles_Of_HbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadProjects(project20List, true, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size();
// Remove duplicate files in HB_PROJECT_20_D
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadProjects(project10List, false, false, null);
waitForModelLoading();
for (IProject project : project10List) {
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(project.getName(), UML2MMDescriptor.INSTANCE).size();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird20MMDescriptor.INSTANCE).size();
}
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
project20List.clear();
project10List.clear();
}
/**
* Test method for
* {@link ModelLoadManager#reloadProjects(Collection, boolean, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor, boolean, org.eclipse.core.runtime.IProgressMonitor)
*
* @throws Exception
*/
public void testReloadProjectsWithMMDescriptor() throws Exception {
final int initialEditingDomain10ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird10MMDescriptor.INSTANCE);
final int initialEditingDomain20ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE);
final int initialEditingDomainUml2ResourceCount = refWks.getInitialResourcesInReferenceEditingDomainCount(UML2MMDescriptor.INSTANCE);
int editingDomain10ResourceCount = initialEditingDomain10ResourceCount;
int editingDomain20ResourceCount = initialEditingDomain20ResourceCount;
int editingDomainUml2ResourceCount = initialEditingDomainUml2ResourceCount;
/* We use the previously validated method unloadProjects to unload all test projects in workspace. */
/* The result of this test method depends on the result of the test method 'testUnloadProjects()' */
Collection<IProject> projectsTestToUnload = new ArrayList<IProject>();
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
projectsTestToUnload.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
synchronizedUnloadProjects(projectsTestToUnload, true);
editingDomain20ResourceCount = editingDomain20ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, Hummingbird20MMDescriptor.INSTANCE).size();
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size()
- refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
/* Since all resources previously in the workspace are unloaded we can start testing loadFile method */
Collection<IProject> project20List = new ArrayList<IProject>();
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B));
project20List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E));
Collection<IProject> project10List = new ArrayList<IProject>();
project10List.add(refWks.getReferenceProject(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A));
ModelLoadManager.INSTANCE.reloadProjects(project20List, false, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
ModelLoadManager.INSTANCE.reloadProjects(project20List, false, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird20MMDescriptor.INSTANCE).size();
}
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadProjects(project20List, false, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(project.getName(), UML2MMDescriptor.INSTANCE).size();
}
// Referenced files in HB_PROJECT_20_D were also loaded:UML2_FILE_NAME_20D_1,UML2_FILE_NAME_20D_2
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount + uml2ReferencedFiles_Of_HbProject20_E;
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadProjects(project20List, true, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
editingDomain20ResourceCount = editingDomain20ResourceCount
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainDoesNotContainResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadProjects(project20List, true, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
// Removed duplicate files in HB_PROJECT_20_D
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount - uml2ReferencedFiles_Of_HbProject20_E
+ refWks.getReferenceFiles(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE).size();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
ModelLoadManager.INSTANCE.reloadProjects(project10List, false, UML2MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project10List) {
editingDomainUml2ResourceCount = editingDomainUml2ResourceCount
+ refWks.getReferenceFiles(project.getName(), UML2MMDescriptor.INSTANCE).size();
}
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
ModelLoadManager.INSTANCE.reloadProjects(project10List, false, Hummingbird20MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
ModelLoadManager.INSTANCE.reloadProjects(project10List, false, Hummingbird10MMDescriptor.INSTANCE, false, null);
waitForModelLoading();
for (IProject project : project20List) {
editingDomain10ResourceCount = editingDomain10ResourceCount
+ refWks.getReferenceFiles(project.getName(), Hummingbird10MMDescriptor.INSTANCE).size();
}
assertEditingDomainResourcesSizeEquals(refWks.editingDomain10, editingDomain10ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, editingDomain20ResourceCount);
assertEditingDomainResourcesSizeEquals(refWks.editingDomainUml2, editingDomainUml2ResourceCount);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_2);
assertEditingDomainContainsResource(refWks.editingDomain10, DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20B_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20B_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2);
assertEditingDomainContainsResource(refWks.editingDomain20, DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2);
assertEditingDomainContainsResource(refWks.editingDomainUml2, DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3);
project20List.clear();
project10List.clear();
}
}