fixes for flexible project structure: committed for JL
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java
index 762df35..754df1b 100644
--- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/tests/modulecore/ModuleStructuralModelTest.java
@@ -49,7 +49,6 @@
 import org.eclipse.wst.common.modulecore.internal.impl.ResourceTreeRoot;
 import org.eclipse.wst.common.modulecore.internal.util.IModuleConstants;
 import org.eclipse.wst.common.modulecore.internal.util.SourcePathProvider;
-import org.eclipse.wtp.j2ee.headless.tests.plugin.AllPluginTests;
 
 /**
  * <p>
@@ -152,7 +151,7 @@
 			artifactModel = getNature(getProjectForWebModuleAndLocalWebLib()).getArtifactEditModelForRead(moduleURI, this);
 			WebArtifactEdit editUtility = (WebArtifactEdit) artifactModel.getAdapter(WebArtifactEdit.ADAPTER_TYPE);
 
-			WebApp webApp = editUtility.getWebApplication();
+			WebApp webApp = (WebApp) editUtility.getDeploymentDescriptorRoot();
 			if (webApp == null)
 				System.out.println("Read failed.");
 			else
diff --git a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebProjectCreationDataModelVerifier.java
index 1cded34..20395de 100644
--- a/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebProjectCreationDataModelVerifier.java
+++ b/tests/org.eclipse.jst.j2ee.tests/webmodule-tests/org/eclipse/wtp/j2ee/headless/tests/web/verifiers/WebProjectCreationDataModelVerifier.java
@@ -15,6 +15,8 @@
 import org.eclipse.jst.j2ee.internal.earcreation.IEARNatureConstants;
 import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
 import org.eclipse.jst.j2ee.internal.web.operations.WebEditModel;
+import org.eclipse.jst.j2ee.internal.web.util.WebArtifactEdit;
+import org.eclipse.jst.j2ee.webapplication.WebApp;
 import org.eclipse.wst.common.modulecore.ArtifactEdit;
 import org.eclipse.wst.common.modulecore.ModuleCore;
 import org.eclipse.wst.common.tests.ProjectUtility;
@@ -37,12 +39,7 @@
         WebEditModel editModel = null;
         Object key = new Object();
         try {
-//        	J2EEWebNatureRuntime wRuntime = J2EEWebNatureRuntime.getRuntime(dataModel.getTargetProject());
-            //EMFWorkbenchContext emfWorkbenchContext = WorkbenchResourceHelper.createEMFContext(dataModel.getTargetProject(), null);
-//            editModel = (WebEditModel) wRuntime.getEditModelForRead(dataModel.getStringProperty(EditModelOperationDataModel.EDIT_MODEL_ID), key);
-//            XMLResource dd = editModel.getDeploymentDescriptorResource();
-        	ArtifactEdit artifactEdit = ModuleCore.getFirstArtifactEditForRead(dataModel.getTargetProject());
-            Object dd = artifactEdit.getContentModelRoot();
+			Object dd = getWebApplication(dataModel.getTargetProject());
         	Assert.assertNotNull("Deployment Descriptor Null", dd);
         } finally {
             editModel.releaseAccess(key);
@@ -63,5 +60,19 @@
 
         }
     }
+	
+	protected WebApp getWebApplication(IProject project) {
+		WebArtifactEdit webEdit = null;
+		try{
+			webEdit = (WebArtifactEdit) ModuleCore.getFirstArtifactEditForRead( project);
+       		if(webEdit != null) {
+       			return (WebApp) webEdit.getDeploymentDescriptorRoot();
+       		}			
+		} finally{
+			if( webEdit != null )
+				webEdit.dispose();
+		}
+		return null;
+	}
 
 }