[122107] Migration fixes and tests
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/tests/Migrate07EJBTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/tests/Migrate07EJBTest.java
index 828fb56..3d46945 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/tests/Migrate07EJBTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/tests/Migrate07EJBTest.java
@@ -6,6 +6,9 @@
 import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.jobs.IJobManager;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
 import org.eclipse.jst.j2ee.ejb.EJBJar;
 import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
 import org.eclipse.jst.j2ee.flexible.project.apitests.artifactedit.Test0_7Workspace;
@@ -40,27 +43,36 @@
 		WebArtifactEdit webEdit = null;
 		
 		
-		try {
 			//Run full build to start migration
 			try {
 				ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
 			} catch (CoreException e) {
 			}
-			  
-			ejbedit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject);
-			EJBJar ejb = ejbedit.getEJBJar();
-			assertTrue(ejb != null);
-			webEdit = WebArtifactEdit.getWebArtifactEditForRead(webProject);
-			WebApp web = webEdit.getWebApp();
-			assertTrue(web != null);
+			
+			ISchedulingRule rule= ResourcesPlugin.getWorkspace().getRuleFactory().buildRule();
+			IJobManager manager= Platform.getJobManager();
+			try {
+				manager.beginRule(rule, null);
+
+				try {
+				ejbedit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject);
+				EJBJar ejb = ejbedit.getEJBJar();
+				assertTrue(ejb != null);
+				webEdit = WebArtifactEdit.getWebArtifactEditForRead(webProject);
+				WebApp web = webEdit.getWebApp();
+				assertTrue(web != null);
+				} finally {
+					if (ejbedit != null) {
+						ejbedit.dispose();
+					}
+					if (webEdit != null) {
+						webEdit.dispose();
+					}
+				}
+
 			} finally {
-			if (ejbedit != null) {
-				ejbedit.dispose();
+				manager.endRule(rule);
 			}
-			if (webEdit != null) {
-				webEdit.dispose();
-			}
-		}
 	}