Test fixes due to changes in ImportOperation (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=296496)
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.core.tests/META-INF/MANIFEST.MF
index 3f19332..7418c52 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.jst.jsf.core.tests;singleton:=true
-Bundle-Version: 1.1.203.qualifier
+Bundle-Version: 1.1.204.qualifier
 Bundle-Activator: org.eclipse.jst.jsf.core.tests.TestsPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: plugin
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticsValidator_AttributeValues.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticsValidator_AttributeValues.java
index 1ee0dc0..2259f73 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticsValidator_AttributeValues.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticsValidator_AttributeValues.java
@@ -41,11 +41,21 @@
         JSFTestUtil.setValidationEnabled(false);
         JSFTestUtil.setInternetProxyPreferences(true, "www-proxy.uk.oracle.com", "80");
 
+        /* https://bugs.eclipse.org/bugs/show_bug.cgi?id=296496
         final ZipFile zipFile = JSFTestUtil.createZipFile(TestsPlugin.getDefault().getBundle()
                 , "/testfiles/testzips/ValidationTestProject1.zip");
 
         _webProject = new WebProjectTestEnvironment(this, JavaFacetUtils.JAVA_50, ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
         _webProject.createFromZip(zipFile, true);
+        */
+        final ZipFile zipFile = JSFTestUtil.createZipFile(
+        		TestsPlugin.getDefault().getBundle(),
+        		"/testfiles/testzips/ValidationTestProject2.zip");
+        _webProject = new WebProjectTestEnvironment(
+        		this,
+        		JavaFacetUtils.JAVA_50,
+        		ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
+        _webProject.createFromZip2(zipFile, true);
     }
 
     public void testSanity() throws Exception
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/TLDTests2.zip b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/TLDTests2.zip
new file mode 100644
index 0000000..d0caf81
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/TLDTests2.zip
Binary files differ
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/ValidationTestProject2.zip b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/ValidationTestProject2.zip
new file mode 100644
index 0000000..ba57954
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/testzips/ValidationTestProject2.zip
Binary files differ
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/META-INF/MANIFEST.MF
index 51e68b3..1ef444e 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.jst.jsf.designtime.tests
-Bundle-Version: 1.1.103.qualifier
+Bundle-Version: 1.1.104.qualifier
 Bundle-Activator: org.eclipse.jst.jsf.designtime.tests.DesignTimeTestsPlugin
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/persistence/TestSerializableTLDTagElement.java b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/persistence/TestSerializableTLDTagElement.java
index 120d517..8a4a249 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/persistence/TestSerializableTLDTagElement.java
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/persistence/TestSerializableTLDTagElement.java
@@ -34,6 +34,7 @@
     protected void setUp() throws Exception
     {
         super.setUp();
+        /* https://bugs.eclipse.org/bugs/show_bug.cgi?id=296496
         final ZipFile zipFile = JSFTestUtil.createZipFile(TestsPlugin
                 .getDefault().getBundle(), "/testfiles/testzips/TLDTests.zip");
 
@@ -41,6 +42,16 @@
                 JavaFacetUtils.JAVA_50, ProjectFacetsManager.getProjectFacet(
                         "jst.web").getVersion("2.4"));
         _webProject.createFromZip(zipFile, true);
+        */
+        final ZipFile zipFile = JSFTestUtil.createZipFile(
+        		TestsPlugin.getDefault().getBundle(),
+        		"/testfiles/testzips/TLDTests2.zip");
+        _webProject = new WebProjectTestEnvironment(
+        		this,
+        		JavaFacetUtils.JAVA_50,
+        		ProjectFacetsManager.getProjectFacet("jst.web").getVersion("2.4"));
+        _webProject.createFromZip2(zipFile, true);
+
         assertNotNull(_webProject);
 
         _sampleTldElementDeclaration = findElementDeclaration(_webProject
diff --git a/jsf/tests/org.eclipse.jst.jsf.test.util/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.test.util/META-INF/MANIFEST.MF
index c4931e4..9a98f32 100644
--- a/jsf/tests/org.eclipse.jst.jsf.test.util/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.test.util/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.jst.jsf.test.util
-Bundle-Version: 1.1.104.qualifier
+Bundle-Version: 1.1.105.qualifier
 Bundle-Activator: org.eclipse.jst.jsf.test.util.Activator
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
diff --git a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ProjectTestEnvironment.java b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ProjectTestEnvironment.java
index 0f6f573..dea626a 100644
--- a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ProjectTestEnvironment.java
+++ b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ProjectTestEnvironment.java
@@ -182,6 +182,39 @@
     }
 
     /**
+     * Creates the new project from the specified zip file.  createProject
+     * is first called to create and open the empty project.  The projectZip
+     * is then used to populate the contents of the project.
+     * 
+     * Differs from createFromZip in that it passes the project path (relative
+     * to workspace) to ImportOperation and so projectZip should contain only
+     * intended contents of the project with no top-level "project" folder in
+     * the zip file. This is to workaround bug 296496.
+     * 
+     * @param projectZip
+     * @param ignoreProjectExists
+     * @throws InvocationTargetException
+     * @throws InterruptedException
+     */
+    public final void createFromZip2(
+    		final ZipFile projectZip,
+            final boolean ignoreProjectExists)
+    throws InvocationTargetException, InterruptedException {
+    	// TODO: assert that the faceting in the zip matches what was set in the constructor.
+        createProject(ignoreProjectExists);
+        ZipFileStructureProvider zipFileStructureProvider =
+        	new ZipFileStructureProvider(projectZip);
+        final ImportOperation op =
+        	new ImportOperation(
+        			_project.getFullPath(),
+        			zipFileStructureProvider.getRoot(),
+        			zipFileStructureProvider,
+        			OVERWRITE_ALL_QUERY);
+        op.setCreateContainerStructure(true);
+        op.run(null);
+    }
+
+    /**
      * Delete project
      */
     public void deleteProject()