Remove JUnit 4 upper bound dependency so tests can be run under Helios.
Fixed a bunch of warnings.
Added some category interfaces.
diff --git a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/META-INF/MANIFEST.MF
index 3b884bb..3b68a7f 100644
--- a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.jst.jsf.common.runtime;bundle-version="[1.0.0,2.0.0)",
- org.junit
+ org.junit;bundle-version="3.8.1"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.jst.jsf.common.runtime.tests.model
diff --git a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/RuntimeTestUtil.java b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/RuntimeTestUtil.java
index 3e1bfad..ddfb348 100644
--- a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/RuntimeTestUtil.java
+++ b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/RuntimeTestUtil.java
@@ -417,9 +417,8 @@
         return (COMPONENT_T) inStream.readObject();
     }
 
-    @SuppressWarnings("unchecked")
     public static void verifyImplicitAdapter(final ViewObject check,
-            final Class adapterType, final Object explicitAdapter)
+            final Class<?> adapterType, final Object explicitAdapter)
     {
         assertEquals(check, check.getAdapter(adapterType));
         // cannot add explicit adapter if check is already that type
@@ -528,7 +527,6 @@
                 .keySet());
     }
 
-    @SuppressWarnings("unchecked")
     public static void verifySame(final ComponentInfo truth,
             final ComponentInfo check)
     {
@@ -562,8 +560,8 @@
             verifySame((ComponentInfo) truth.getChildren().get(i), checkChild);
         }
 
-        final List truthGetAllDecorators = truth.getAllDecorators();
-        final List checkGetAllDecorators = check.getAllDecorators();
+        final List<?> truthGetAllDecorators = truth.getAllDecorators();
+        final List<?> checkGetAllDecorators = check.getAllDecorators();
 
         for (int i = 0; i < checkGetAllDecorators.size(); i++)
         {
diff --git a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/TestViewObject.java b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/TestViewObject.java
index a893e0b..74a8197 100644
--- a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/TestViewObject.java
+++ b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/TestViewObject.java
@@ -51,12 +51,11 @@
         super.tearDown();
     }
 
-    @SuppressWarnings("unchecked")
     public void testGetAllDecorators()
     {
         // we have not added anything so we should get an empty
         // immutable list
-        List allDecorators = _viewObject1.getAllDecorators();
+        List<?> allDecorators = _viewObject1.getAllDecorators();
         assertSizeAndImmutable(allDecorators, 0);
 
         // add the decorators; use different keys
@@ -71,12 +70,11 @@
         assertTrue(allDecorators.contains(_decorator2));
     }
 
-    @SuppressWarnings("unchecked")
     public void testGetAllAdapters()
     {
         // we have not added anything so we should get an empty
         // immutable list
-        Map allAdapters = _viewObject1.getAllAdapters();
+        Map<?, ?> allAdapters = _viewObject1.getAllAdapters();
         assertSizeAndImmutable(allAdapters, 0);
 
         // add the decorators; use different keys
@@ -104,7 +102,7 @@
         _viewObject1.addDecorator(_decorator1);
         _viewObject1.addDecorator(_decorator2);
 
-        List decorators = _viewObject1.getDecorators(_decorator1.getClass());
+        List<Decorator> decorators = _viewObject1.getDecorators(_decorator1.getClass());
         assertSizeAndImmutable(decorators, 2);
         assertTrue(decorators.contains(_decorator1));
         assertTrue(decorators.contains(_decorator2));
@@ -272,7 +270,6 @@
         assertTrue(assertionOk);
     }
 
-    @SuppressWarnings("unchecked")
     public void testDefaultAdapterBehaviour()
     {
         // by default, the view object will return its "this" object
@@ -281,7 +278,7 @@
         final ViewObject viewObject1 = new MockViewObject();
         final ViewObject listViewObject1 = new MockViewObjectImplementsList();
 
-        final List listAdapter = new ArrayList();
+        final List<?> listAdapter = new ArrayList<Object>();
 
         // with the non-list, get adapter will return something only if it is
         // added
@@ -310,24 +307,22 @@
         assertEquals(listViewObject1, listViewObject1.getAdapter(List.class));
     }
 
-    @SuppressWarnings("unchecked")
     public void testGetDecoratorMap()
     {
         // check contract: getDecoratorMap should never return null
         // and should always return the same map
-        final Map map = ((MockViewObject) _viewObject1).getDecoratorMap();
+        final Map<?, ?> map = ((MockViewObject) _viewObject1).getDecoratorMap();
         assertNotNull(map);
         assertEquals(map, ((MockViewObject) _viewObject1).getDecoratorMap());
         assertEquals(map, ((MockViewObject) _viewObject1).getDecoratorMap());
         assertEquals(map, ((MockViewObject) _viewObject1).getDecoratorMap());
     }
 
-    @SuppressWarnings("unchecked")
     public void testGetAdapterMap()
     {
         // check contract: getAdapterMap should never return null
         // and should always return the same map
-        final Map map = ((MockViewObject) _viewObject1).getAdapterMap();
+        final Map<?, ?> map = ((MockViewObject) _viewObject1).getAdapterMap();
         assertNotNull(map);
         assertEquals(map, ((MockViewObject) _viewObject1).getAdapterMap());
         assertEquals(map, ((MockViewObject) _viewObject1).getAdapterMap());
@@ -347,7 +342,7 @@
         RuntimeTestUtil.verifySame(_viewObject1, deserialized);
     }
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({ "unchecked", "rawtypes" })
     private void assertSizeAndImmutable(final List list, final int size)
     {
         assertEquals(size, list.size());
@@ -368,7 +363,7 @@
         assertEquals(size, list.size());
     }
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({ "unchecked", "rawtypes" })
     private void assertSizeAndImmutable(final Map map, final int size)
     {
         assertEquals(size, map.size());
@@ -396,24 +391,21 @@
          */
         private static final long serialVersionUID = 5839704536769825171L;
 
-        @SuppressWarnings("unchecked")
         @Override
-        public Map getAdapterMap()
+        public Map<?,?> getAdapterMap()
         {
             return super.getAdapterMap();
         }
 
-        @SuppressWarnings("unchecked")
         @Override
-        public Map getDecoratorMap()
+        public Map<?, ?> getDecoratorMap()
         {
             return super.getDecoratorMap();
         }
     }
 
-    @SuppressWarnings("unchecked")
     public static class MockViewObjectImplementsList extends ViewObject
-    implements List
+    implements List<Object>
     {
         /**
          * 
@@ -430,12 +422,12 @@
 
         }
 
-        public boolean addAll(final Collection c)
+        public boolean addAll(final Collection<?> c)
         {
             return false;
         }
 
-        public boolean addAll(final int index, final Collection c)
+        public boolean addAll(final int index, final Collection<?> c)
         {
             return false;
         }
@@ -450,7 +442,7 @@
             return false;
         }
 
-        public boolean containsAll(final Collection c)
+        public boolean containsAll(final Collection<?> c)
         {
             return false;
         }
@@ -470,6 +462,7 @@
             return false;
         }
 
+        @SuppressWarnings({ "rawtypes", "unchecked" })
         public Iterator iterator()
         {
             return null;
@@ -480,11 +473,13 @@
             return 0;
         }
 
+        @SuppressWarnings({ "rawtypes", "unchecked" })
         public ListIterator listIterator()
         {
             return null;
         }
 
+        @SuppressWarnings({ "rawtypes", "unchecked" })
         public ListIterator listIterator(final int index)
         {
             return null;
@@ -500,12 +495,12 @@
             return null;
         }
 
-        public boolean removeAll(final Collection c)
+        public boolean removeAll(final Collection<?> c)
         {
             return false;
         }
 
-        public boolean retainAll(final Collection c)
+        public boolean retainAll(final Collection<?> c)
         {
             return false;
         }
@@ -520,6 +515,7 @@
             return 0;
         }
 
+        @SuppressWarnings({ "rawtypes", "unchecked" })
         public List subList(final int fromIndex, final int toIndex)
         {
             return null;
@@ -530,6 +526,7 @@
             return null;
         }
 
+        @SuppressWarnings("unchecked")
         public Object[] toArray(final Object[] a)
         {
             return null;
@@ -556,8 +553,7 @@
         private static final long serialVersionUID = 424297135847238931L;
     }
 
-    @SuppressWarnings("unchecked")
-    public static class MockAdapterImplementsList extends AbstractList
+    public static class MockAdapterImplementsList extends AbstractList<Object>
     {
 
         @Override
diff --git a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/component/TestComponentInfo.java b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/component/TestComponentInfo.java
index abf100a..cf01e70 100644
--- a/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/component/TestComponentInfo.java
+++ b/jsf/tests/org.eclipse.jst.jsf.common.runtime.tests/src/org/eclipse/jst/jsf/common/runtime/tests/model/component/TestComponentInfo.java
@@ -72,7 +72,6 @@
                 (ComponentInfo) getComponentInfo().getChildren().get(0));
     }
 
-    @SuppressWarnings("unchecked")
     public void testFacet() {
         assertTrue(getComponentInfo().getChildren().isEmpty());
         final ComponentInfo componentInfo = ComponentFactory
@@ -85,10 +84,10 @@
         assertEquals("header", getComponentInfo().getFacetName(componentInfo));
         assertEquals(componentInfo, getComponentInfo().getFacet("header"));
         
-        final List facetDecorators = getComponentInfo().getDecorators(
+        final List<?> facetDecorators = getComponentInfo().getDecorators(
                 ComponentFactory.FACET);
         boolean hasFacet = false;
-        for (final Iterator it = facetDecorators.iterator(); it.hasNext();) {
+        for (final Iterator<?> it = facetDecorators.iterator(); it.hasNext();) {
             final FacetDecorator decorator = (FacetDecorator) it.next();
 
             if ("header".equals(decorator.getName())) {
@@ -100,7 +99,7 @@
         }
         assertTrue(hasFacet);
 
-        final List useGetFacets = getComponentInfo().getFacets();
+        final List<?> useGetFacets = getComponentInfo().getFacets();
         assertEquals(facetDecorators, useGetFacets);
     }
 
diff --git a/jsf/tests/org.eclipse.jst.jsf.contentassist.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.contentassist.tests/META-INF/MANIFEST.MF
index 347b702..6ff5c49 100644
--- a/jsf/tests/org.eclipse.jst.jsf.contentassist.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.contentassist.tests/META-INF/MANIFEST.MF
@@ -8,7 +8,7 @@
 Bundle-ClassPath: jsfcontentassisttests.jar
 Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.wst.sse.core;bundle-version="[1.1.0,1.2.0)",
diff --git a/jsf/tests/org.eclipse.jst.jsf.context.symbol.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.context.symbol.tests/META-INF/MANIFEST.MF
index 3f69302..8a23242 100644
--- a/jsf/tests/org.eclipse.jst.jsf.context.symbol.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.context.symbol.tests/META-INF/MANIFEST.MF
@@ -9,7 +9,7 @@
 Export-Package: org.eclipse.jst.jsf.context.symbol.tests;x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,3.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.jst.jsf.core.tests;bundle-version="[1.0.0,2.0.0)",
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 a186bac..f7bdb09 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
@@ -17,7 +17,6 @@
  org.eclipse.jst.j2ee;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,3.0.0)",
  org.eclipse.core.runtime.compatibility;bundle-version="[3.1.100,4.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
  org.eclipse.wst.xml.core;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.jst.jsf.common;bundle-version="[1.1.0,2.0.0)",
@@ -31,7 +30,8 @@
  org.eclipse.ui.ide;bundle-version="3.4.0",
  org.eclipse.jst.common.frameworks,
  org.eclipse.jst.common.project.facet.core,
- org.eclipse.jst.j2ee.core
+ org.eclipse.jst.j2ee.core,
+ org.junit;bundle-version="3.8.2"
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.jst.jsf.core.tests;x-friends:="org.eclipse.jst.jsf.ui.tests,org.eclipse.jst.jsf.context.symbol.tests,org.eclipse.jst.jsf.designtime.tests",
  org.eclipse.jst.jsf.core.tests.appconfig.provider;x-internal:=true,
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJ2EETest.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJ2EETest.java
index e3379fd..87696b6 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJ2EETest.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJ2EETest.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.j2ee.common.Description;
 import org.eclipse.jst.j2ee.common.Listener;
 import org.eclipse.jst.j2ee.common.ParamValue;
@@ -45,7 +45,7 @@
 {
     private static final IProjectFacetVersion WEB_MODULE_VERSION = ProjectFacetsManager.getProjectFacet("jst.web").getVersion("2.4");
 
-    private static final IProjectFacetVersion JAVA_VERSION = JavaFacetUtils.JAVA_50;
+    private static final IProjectFacetVersion JAVA_VERSION = JavaFacet.VERSION_1_5;
 
     private static final String PROJECT_NAME_PREFIX = "_TEST_PROJECT_NAME_FOR_J2EE";
     private static final String SERVLET_NAME = "_TEST_SERVLET_NAME";
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJavaEETest.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJavaEETest.java
index d5de8cb..0967c31 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJavaEETest.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/facet/VendorSpecificWebXmlConfigurationForJavaEETest.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.javaee.core.Description;
 import org.eclipse.jst.javaee.core.Listener;
 import org.eclipse.jst.javaee.core.ParamValue;
@@ -45,7 +45,7 @@
 {
     private static final IProjectFacetVersion WEB_MODULE_VERSION = ProjectFacetsManager.getProjectFacet("jst.web").getVersion("2.5");
 
-    private static final IProjectFacetVersion JAVA_VERSION = JavaFacetUtils.JAVA_50;
+    private static final IProjectFacetVersion JAVA_VERSION = JavaFacet.VERSION_1_5;
 
     private static final String PROJECT_NAME_PREFIX = "_TEST_PROJECT_NAME_FOR_JAVA_EE";
     private static final String SERVLET_NAME = "_TEST_SERVLET_NAME";
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/project/facet/JSFFacetInstallDataModelProviderTestCases.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/project/facet/JSFFacetInstallDataModelProviderTestCases.java
index d2fdd69..eba1bbf 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/project/facet/JSFFacetInstallDataModelProviderTestCases.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/project/facet/JSFFacetInstallDataModelProviderTestCases.java
@@ -46,9 +46,8 @@
 	/*
 	 * Test method for 'org.eclipse.jst.jsf.core.internal.project.facet.JSFFacetInstallDataModelProvider.getPropertyNames()'
 	 */
-	@SuppressWarnings("unchecked")
-    public void testGetPropertyNames() {	
-		Set names = dm.getPropertyNames();
+	public void testGetPropertyNames() {	
+		Set<?> names = dm.getPropertyNames();
 		Assert.assertNotNull(names);
 //		Assert.assertTrue(names.contains(IJSFFacetInstallDataModelProperties.IMPLEMENTATION));
 //		Assert.assertTrue(names.contains(IJSFFacetInstallDataModelProperties.DEPLOY_IMPLEMENTATION));
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/tagmatcher/TestXPathTagMatcher.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/tagmatcher/TestXPathTagMatcher.java
index b91c025..6e8dfbe 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/tagmatcher/TestXPathTagMatcher.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/tagmatcher/TestXPathTagMatcher.java
@@ -35,7 +35,6 @@
         super.setUp();
     }
 
-    @SuppressWarnings("unchecked")
     public void testSimpleMatches()
     {
         // get the view tag
@@ -71,7 +70,7 @@
 
         set = new ElementToTagIdentifierMapping().map(set);
 
-        for (final Iterator it = set.iterator(); it.hasNext();)
+        for (final Iterator<?> it = set.iterator(); it.hasNext();)
         {
         	TagIdentifier tagId = (TagIdentifier) it.next();
         	System.out.println(tagId.getUri());
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/TestCMUtil.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/TestCMUtil.java
index 2f722d0..9b0a3f8 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/TestCMUtil.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/util/TestCMUtil.java
@@ -5,7 +5,7 @@
 import junit.framework.TestCase;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
 import org.eclipse.jst.jsf.core.tests.TestsPlugin;
 import org.eclipse.jst.jsf.test.util.JSFTestUtil;
@@ -32,7 +32,7 @@
         final ZipFile zipFile = JSFTestUtil.createZipFile(TestsPlugin.getDefault().getBundle()
                 , "/testfiles/testzips/TLDTests.zip");
 
-        _webProject = new WebProjectTestEnvironment(this, JavaFacetUtils.JAVA_50, ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
+        _webProject = new WebProjectTestEnvironment(this, JavaFacet.VERSION_1_5, ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
         _webProject.createFromZip(zipFile, true);
         assertNotNull(_webProject);
         
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/MockIReporter.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/MockIReporter.java
index 3072e16..8559c84 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/MockIReporter.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/MockIReporter.java
@@ -53,8 +53,7 @@
         return messages;
     }
 
-    @SuppressWarnings("unchecked")
-    public List getMessages() {
+    public List<IMessage> getMessages() {
         return _messages;
     }
 
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticValidation_AttrValueConverter.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticValidation_AttrValueConverter.java
index cc65832..aba04d9 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticValidation_AttrValueConverter.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/TestJSPSemanticValidation_AttrValueConverter.java
@@ -17,7 +17,7 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.core.JSFVersion;
 import org.eclipse.jst.jsf.core.tests.TestsPlugin;
 import org.eclipse.jst.jsf.core.tests.util.JSFCoreUtilHelper;
@@ -49,7 +49,7 @@
                 "/testfiles/testzips/valueHolderTest11.zip");
 
         _webProject = new WebProjectTestEnvironment(this,
-                JavaFacetUtils.JAVA_50, ProjectFacetsManager.getProjectFacet(
+                JavaFacet.VERSION_1_5, ProjectFacetsManager.getProjectFacet(
                         "jst.web").getVersion("2.4"));
         _webProject.createFromZip(zipFile, true);
 
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 2259f73..274bed5 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
@@ -17,7 +17,7 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.common.internal.types.TypeComparatorDiagnosticFactory;
 import org.eclipse.jst.jsf.core.tests.TestsPlugin;
 import org.eclipse.jst.jsf.test.util.JSFTestUtil;
@@ -53,7 +53,7 @@
         		"/testfiles/testzips/ValidationTestProject2.zip");
         _webProject = new WebProjectTestEnvironment(
         		this,
-        		JavaFacetUtils.JAVA_50,
+        		JavaFacet.VERSION_1_5,
         		ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
         _webProject.createFromZip2(zipFile, true);
     }
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/XMLViewDefnValidatorTests.java b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/XMLViewDefnValidatorTests.java
index 90272a8..5dba2d3 100644
--- a/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/XMLViewDefnValidatorTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/src/org/eclipse/jst/jsf/core/tests/validation/XMLViewDefnValidatorTests.java
@@ -17,7 +17,7 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.core.tests.TestsPlugin;
 import org.eclipse.jst.jsf.test.util.JSFTestUtil;
 import org.eclipse.jst.jsf.test.util.WebProjectTestEnvironment;
@@ -41,7 +41,7 @@
         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 = new WebProjectTestEnvironment(this, JavaFacet.VERSION_1_5, ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
         _webProject.createFromZip(zipFile, true);
     }
 
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 f36a9c4..8674a04 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
@@ -7,7 +7,7 @@
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.jst.jsf.core.tests;bundle-version="[1.1.0,2.0.0)",
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestDefaultPropertyResolver.java b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestDefaultPropertyResolver.java
index 49f3b0d..9bba12c 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestDefaultPropertyResolver.java
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestDefaultPropertyResolver.java
@@ -777,10 +777,9 @@
         // TODO: should add coverage for dotted, non-bundles...
     }
 
-    @SuppressWarnings("unchecked")
     private void checkDottedBundleNames() throws Exception
     {
-        final Map map =
+        final Map<?, ?> map =
             ResourceBundleMapSourceFactory.getResourceBundleMapSource(
                     _jdtTestEnvironment.getProjectEnvironment()
                     .getTestProject(), "bundles.bundle1");
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestJSPDefaultSymbolFactory.java b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestJSPDefaultSymbolFactory.java
index fdf640a..d4ba8d0 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestJSPDefaultSymbolFactory.java
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestJSPDefaultSymbolFactory.java
@@ -96,8 +96,7 @@
 		assertTrue(factory.supports(context));
 	}
 
-	@SuppressWarnings("unchecked")
-    public void testCreate()
+	public void testCreate()
 	{
 		final JSPDefaultSymbolFactory factory = new JSPDefaultSymbolFactory();
 
@@ -107,13 +106,13 @@
 
 		ISymbol var =
 			factory.create("notAVariable"
-				, ISymbolConstants.SYMBOL_SCOPE_REQUEST, context, new ArrayList(), null);
+				, ISymbolConstants.SYMBOL_SCOPE_REQUEST, context, new ArrayList<Object>(), null);
 		assertNull(var);
 
 		var = factory.create("bundle"
 			, ISymbolConstants.SYMBOL_SCOPE_REQUEST
 			, IStructuredDocumentContextFactory.INSTANCE.getContext(_structuredDocument, 552)
-			, new ArrayList(), null);
+			, new ArrayList<Object>(), null);
 		
 		// load bundle introduces a variable
 		assertNotNull(var);
@@ -123,7 +122,7 @@
 		var = factory.create("row"
 				, ISymbolConstants.SYMBOL_SCOPE_REQUEST
 				, IStructuredDocumentContextFactory.INSTANCE.getContext(_structuredDocument, 1361)
-				, new ArrayList(), null);
+				, new ArrayList<Object>(), null);
 		
 		// data table introduces a variable
 		assertNotNull(var);
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleMapSource.java b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleMapSource.java
index 71c4970..c1cea72 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleMapSource.java
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleMapSource.java
@@ -109,10 +109,9 @@
      * Basic sanity check that properties files can be loaded and contain what's
      * expected
      */
-    @SuppressWarnings("unchecked")
     public void testSanity() throws Exception
     {
-        Map map =
+        Map<?, ?> map =
             ResourceBundleMapSourceFactory.getResourceBundleMapSource(
                     _project1, "bundles.bundle1");
         assertNotNull(map);
@@ -137,10 +136,9 @@
     /**
      * Verify the expected contents of bundle1 in project1
      */
-    @SuppressWarnings("unchecked")
     public void testContentsProject1Bundle1() throws Exception
     {
-        final Map map =
+        final Map<?, ?> map =
             ResourceBundleMapSourceFactory.getResourceBundleMapSource(
                     _project1, "bundles.bundle1");
         assertTrue(map.containsKey("prop1"));
@@ -154,10 +152,9 @@
     /**
      * Verify the expected contents of bundle1 in project2
      */
-    @SuppressWarnings("unchecked")
     public void testContentsProject2Bundle1() throws Exception
     {
-        final Map map =
+        final Map<?, ?> map =
             ResourceBundleMapSourceFactory.getResourceBundleMapSource(
                     _project2, "bundles.bundle1");
         assertTrue(map.containsKey("x_prop1"));
@@ -178,12 +175,11 @@
      * @throws IOException
      * @throws JavaModelException
      */
-    @SuppressWarnings("unchecked")
     public void testBundleDelete() throws JavaModelException, IOException,
     CoreException
     {
         // test the initial state, before outside meddling
-        final Map map =
+        final Map<?, ?> map =
             ResourceBundleMapSourceFactory.getResourceBundleMapSource(
                     _project1, "bundles.bundle1");
         assertTrue(map.containsKey("prop1"));
@@ -220,78 +216,10 @@
      * @throws IOException
      * @throws JavaModelException
      */
-    // TODO: can't get the file to become out of sync
-    // @SuppressWarnings("unchecked")
-    // public void testBundleSync() throws JavaModelException, IOException,
-    // CoreException
-    // {
-    // // test the initial state, before outside meddling
-    // Map map =
-    // ResourceBundleMapSourceFactory.getResourceBundleMapSource(_project1,
-    // "bundles.bundle1");
-    // assertTrue(map.containsKey("prop1"));
-    // assertEquals("blah", map.get("prop1"));
-    // assertTrue(map.containsKey("one.dot"));
-    // assertEquals("blah1", map.get("one.dot"));
-    // assertTrue(map.containsKey("two.dot.property"));
-    // assertEquals("blah3", map.get("two.dot.property"));
-    //
-    // // turn off automatic builds so the file we trying to
-    // // de-sync doesn't get auto-sync'd
-    // final boolean autoBuild =
-    // _project1.getWorkspace().getDescription().isAutoBuilding();
-    // IWorkspaceDescription desc =
-    // _project1.getWorkspace().getDescription();
-    // desc.setAutoBuilding(false);
-    // //desc.set
-    // _project1.getWorkspace().setDescription(desc);
-    //
-    // // now fiddle with the file
-    // File bundleFile = _bundle1.getLocation().toFile();
-    //
-    // FileOutputStream outStream = null;
-    //
-    // try
-    // {
-    // outStream = new FileOutputStream(bundleFile,true);
-    // outStream.write("\r\nfiddleExternal=blah5".getBytes());
-    // outStream.flush();
-    // }
-    // finally
-    // {
-    // if (outStream != null)
-    // {
-    // outStream.close();
-    // }
-    // }
-    //
-    // // the condition we are testing for is that the file is now out
-    // // of sync with the workspace but is still accessible
-    // assertFalse(_bundle1.isSynchronized(IResource.DEPTH_ZERO));
-    // assertTrue(_bundle1.isAccessible());
-    //
-    // // the map should now be updated to include the new key
-    // assertTrue(map.containsKey("fiddleExternal"));
-    // assertEquals("blah5", map.get("fiddleExternal"));
-    //
-    // // as well as the original ones (we appended to the file)
-    // assertTrue(map.containsKey("prop1"));
-    // assertEquals("blah", map.get("prop1"));
-    // assertTrue(map.containsKey("one.dot"));
-    // assertEquals("blah1", map.get("one.dot"));
-    // assertTrue(map.containsKey("two.dot.property"));
-    // assertEquals("blah3", map.get("two.dot.property"));
-    //
-    // // set auto-build back to it's initial state
-    // desc = _project1.getWorkspace().getDescription();
-    // desc.setAutoBuilding(autoBuild);
-    // _project1.getWorkspace().setDescription(desc);
-    // }
-    @SuppressWarnings("unchecked")
     public void testProjectCloseCleanup() throws Exception
     {
         // test the initial state, before outside meddling
-        Map map =
+        Map<?, ?> map =
             ResourceBundleMapSourceFactory.getResourceBundleMapSource(
                     _project3, "bundles.bundle1");
         assertTrue(map.containsKey("prop1"));
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleSymbolSourceProvider.java b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleSymbolSourceProvider.java
index 95cb9c7..45965d3 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleSymbolSourceProvider.java
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/TestResourceBundleSymbolSourceProvider.java
@@ -19,7 +19,7 @@
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.context.symbol.IInstanceSymbol;
 import org.eclipse.jst.jsf.context.symbol.IPropertySymbol;
 import org.eclipse.jst.jsf.context.symbol.ISymbol;
@@ -50,7 +50,7 @@
         _projectTestEnvironment = 
             new WebProjectTestEnvironment(
                     "TestResourceBundleSymbolSourceProvider_"+getName()
-                    , JavaFacetUtils.JAVA_50
+                    , JavaFacet.VERSION_1_5
                     , ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.5")
                     );
         _projectTestEnvironment.createProject(false);
@@ -90,11 +90,10 @@
         //_structuredDocument = _structuredModel.getStructuredDocument();
 	}
 
-	@SuppressWarnings("unchecked")
-    public void testSanity()
+	public void testSanity()
 	{
         final JSFAppConfigManager appconfigMgr = JSFAppConfigManager.getInstance(_projectTestEnvironment.getTestProject());
-        final List resourceBundles = appconfigMgr.getResourceBundles();
+        final List<?> resourceBundles = appconfigMgr.getResourceBundles();
         assertEquals(2, resourceBundles.size());
 	}
 	
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/TestJSPViewDefnAdapter.java b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/TestJSPViewDefnAdapter.java
index 14a7735..953e1a3 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/TestJSPViewDefnAdapter.java
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/TestJSPViewDefnAdapter.java
@@ -13,7 +13,7 @@
 import junit.framework.TestCase;
 
 import org.eclipse.core.resources.IFile;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
 import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ITextRegionContextResolver;
 import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
@@ -99,7 +99,7 @@
 
         _webProjectTestEnv =
                 new WebProjectTestEnvironment(getClass().getName() + "_"
-                        + getName(), JavaFacetUtils.JAVA_50,
+                        + getName(), JavaFacet.VERSION_1_5,
                         ProjectFacetsManager.getProjectFacet("jst.web")
                                 .getVersion(jst_web_version));
 
diff --git a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/model/jsp/BaseTestClass.java b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/model/jsp/BaseTestClass.java
index 7203afa..30893fc 100644
--- a/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/model/jsp/BaseTestClass.java
+++ b/jsf/tests/org.eclipse.jst.jsf.designtime.tests/src/org/eclipse/jst/jsf/designtime/tests/views/model/jsp/BaseTestClass.java
@@ -15,7 +15,7 @@
 
 import junit.framework.TestCase;
 
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.core.JSFVersion;
 import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
 import org.eclipse.jst.jsf.core.tests.util.JSFCoreUtilHelper;
@@ -69,7 +69,7 @@
         final String jst_jsf_version = _jsfVersion.toString();
 
         _webProjectTestEnv = new WebProjectTestEnvironment(getClass().getName()
-                + "_" + getName(), JavaFacetUtils.JAVA_50, ProjectFacetsManager
+                + "_" + getName(), JavaFacet.VERSION_1_5, ProjectFacetsManager
                 .getProjectFacet("jst.web").getVersion(jst_web_version));
 
         _webProjectTestEnv.createProject(false);
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 8a4a249..9bd9a7e 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
@@ -10,7 +10,7 @@
 import junit.framework.TestCase;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.core.tests.TestsPlugin;
 import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.CMNodeNamedMapAdapter;
 import org.eclipse.jst.jsf.designtime.internal.view.model.jsp.TLDTagElement;
@@ -48,7 +48,7 @@
         		"/testfiles/testzips/TLDTests2.zip");
         _webProject = new WebProjectTestEnvironment(
         		this,
-        		JavaFacetUtils.JAVA_50,
+        		JavaFacet.VERSION_1_5,
         		ProjectFacetsManager.getProjectFacet("jst.web").getVersion("2.4"));
         _webProject.createFromZip2(zipFile, true);
 
@@ -77,13 +77,12 @@
          assertFalse(((TLDTagElement)readObject).getAttributeHandlers() instanceof CMNodeNamedMapAdapter);
     }
 
-    @SuppressWarnings("unchecked")
     private void verifyUseBean(final TLDTagElement tldTagElement)
     {
         assertEquals("useBean", tldTagElement.getName());
         assertEquals("uri-supplied", tldTagElement.getUri());
         assertEquals("sample.http.taglib.UseBeanTag", tldTagElement.getTagHandlerClassName());
-        Map attributeHandlers = tldTagElement.getAttributeHandlers();
+        Map<?, ?> attributeHandlers = tldTagElement.getAttributeHandlers();
         assertTrue(attributeHandlers.containsKey("id"));
         assertTrue(attributeHandlers.containsKey("cls"));
         assertTrue(attributeHandlers.containsKey("type"));
diff --git a/jsf/tests/org.eclipse.jst.jsf.facesconfig.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.facesconfig.tests/META-INF/MANIFEST.MF
index 2c2cb01..b4721d5 100644
--- a/jsf/tests/org.eclipse.jst.jsf.facesconfig.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.facesconfig.tests/META-INF/MANIFEST.MF
@@ -13,7 +13,7 @@
  org.eclipse.jst.j2ee;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.jst.j2ee.web;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.frameworks.ui;bundle-version="[1.1.0,2.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.jst.jsf.facesconfig;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.jst.jsf.core;bundle-version="[1.1.0,2.0.0)"
diff --git a/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/META-INF/MANIFEST.MF
index 4fc5e80..12a4367 100644
--- a/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-Vendor: %Bundle-Vendor.f0
 Fragment-Host: org.eclipse.jst.jsf.facesconfig.ui;bundle-version="[1.0.0,2.0.0)"
 Bundle-Localization: plugin
-Require-Bundle: org.junit;bundle-version="[3.8.1,4.0.0)",
+Require-Bundle: org.junit;bundle-version="3.8.1",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 
diff --git a/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/src/org/eclipse/jst/jsf/facesconfig/ui/test/GEMPreferencesTest.java b/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/src/org/eclipse/jst/jsf/facesconfig/ui/test/GEMPreferencesTest.java
index 3fb37c8..6b21f7d 100644
--- a/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/src/org/eclipse/jst/jsf/facesconfig/ui/test/GEMPreferencesTest.java
+++ b/jsf/tests/org.eclipse.jst.jsf.facesconfig.ui.test/src/org/eclipse/jst/jsf/facesconfig/ui/test/GEMPreferencesTest.java
@@ -46,7 +46,6 @@
 	 * Test method for
 	 * {@link org.eclipse.jst.jsf.facesconfig.ui.preference.GEMPreferences#GEMPreferences()}.
 	 */
-	@SuppressWarnings("unchecked")
 	public void testGEMPreferences() {
 
 		PreferenceDialog dialog = null;
@@ -55,7 +54,7 @@
 		dialog = new PreferenceDialogWrapper(getShell(), manager);
 		dialog.create();
 
-		for (Iterator iterator = manager.getElements(
+		for (Iterator<?> iterator = manager.getElements(
 				PreferenceManager.PRE_ORDER).iterator(); iterator.hasNext();) {
 			IPreferenceNode node = (IPreferenceNode) iterator.next();
 			if (node.getId().equals(GEM_PREFERENCE_ID)) {
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/META-INF/MANIFEST.MF
index 5e88371..7d38825 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
  org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,3.0.0)",
  org.eclipse.core.runtime.compatibility;bundle-version="[3.1.100,4.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.wst.sse.core;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.jst.jsp.core;bundle-version="[1.1.0,1.3.0)",
@@ -27,7 +27,8 @@
  org.eclipse.wst.validation,
  org.eclipse.jst.pagedesigner.jsf.ui;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.ui.views.properties.tabbed;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.gef;bundle-version="[3.5.0,4.0.0)"
+ org.eclipse.gef;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.jst.common.project.facet.core;bundle-version="1.4.100"
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.jst.jsf.common.metadata.tests;x-internal:=true,
  org.eclipse.jst.jsf.metadata.tests;x-internal:=true,
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelProviderAdapterTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelProviderAdapterTests.java
index a7f4cce..09b9bb6 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelProviderAdapterTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelProviderAdapterTests.java
@@ -81,12 +81,12 @@
 		assertEquals("This is externalized text", bundle.getString("NLS"));		
 	}
 	
-	@SuppressWarnings({"unchecked" })
+	@SuppressWarnings({ })
 	public void testClassloaderProvider() {
 		
 		IClassLoaderProvider classLoaderProvider = (IClassLoaderProvider)_trait.getSourceModelProvider().getAdapter(IClassLoaderProvider.class);
 		assertNotNull(classLoaderProvider);
-		Class klass = classLoaderProvider.loadClass("java.lang.String");
+		Class<?> klass = classLoaderProvider.loadClass("java.lang.String");
 		assertNotNull(klass);
 		
 		// when all MD was moved from WPE to tagsupport plugin, there was no longer a plugin specific class to load here.    FIX ME later.
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/TraitValueHelperTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/TraitValueHelperTests.java
index 421e714..e407dd3 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/TraitValueHelperTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/TraitValueHelperTests.java
@@ -135,12 +135,11 @@
 		Assert.assertEquals(null, TraitValueHelper.getValueAsString(trait));
 	}
 
-	@SuppressWarnings("unchecked")
-    public void testGetValueAsListOfStrings() {
+	public void testGetValueAsListOfStrings() {
 		//multivalStrings
 		Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(entity, "multivalStrings");
 		Assert.assertNotNull(trait);
-		Assert.assertTrue(TraitValueHelper.getValueAsListOfStrings(trait) instanceof List);
+		Assert.assertTrue(TraitValueHelper.getValueAsListOfStrings(trait) instanceof List<?>);
 		List<?> vals = TraitValueHelper.getValueAsListOfStrings(trait);
 		Assert.assertEquals(3, vals.size());
 		Assert.assertTrue(vals.get(0) instanceof String);
@@ -151,7 +150,7 @@
 		//multivalIntegers
 		trait = TaglibDomainMetaDataQueryHelper.getTrait(entity, "multivalIntegers");
 		Assert.assertNotNull(trait);
-		Assert.assertTrue(TraitValueHelper.getValueAsListOfStrings(trait) instanceof List);
+		Assert.assertTrue(TraitValueHelper.getValueAsListOfStrings(trait) instanceof List<?>);
 		vals = TraitValueHelper.getValueAsListOfStrings(trait);
 		Assert.assertEquals(3, vals.size());
 		Assert.assertTrue(vals.get(0) instanceof String);
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/AllTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/AllTests.java
index d3f3b22..10fdca5 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/AllTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/AllTests.java
@@ -12,6 +12,7 @@
 package org.eclipse.jst.jsf.metadata.tests;
 
 import junit.framework.Test;
+import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.eclipse.jst.jsf.common.metadata.tests.AbstractEntityQueryVisitorTest;
@@ -160,7 +161,7 @@
 		return suite;
 	}
 
-	private static void addTestSuite(TestSuite suite, Class<?> klass) {
+	private static void addTestSuite(TestSuite suite, Class<? extends TestCase> klass) {
 		if (!_inited) {
 			_jsfRuntimePresentV11 = JSFCoreUtilHelper.isJSFRuntimeJarsDirectoryPropertySet(JSFVersion.V1_1);
 			_jsfRuntimePresentV12 = JSFCoreUtilHelper.isJSFRuntimeJarsDirectoryPropertySet(JSFVersion.V1_2);
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/metadataprocessing/MetaDataProcessorsFactoryTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/metadataprocessing/MetaDataProcessorsFactoryTests.java
index c2f29a2..694f64d 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/metadataprocessing/MetaDataProcessorsFactoryTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/metadataprocessing/MetaDataProcessorsFactoryTests.java
@@ -30,10 +30,9 @@
 	 * 'org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessorsFactory.getAttributeValueRuntimeTypeProcessors(Class,
 	 * String, String, String)'
 	 */
-	@SuppressWarnings("unchecked")
 	public void testGetAttributeValueRuntimeTypeProcessors() {
 		
-		List possibleValueProcessors = MetaDataEnabledProcessingFactory.getInstance().
+		List<?> possibleValueProcessors = MetaDataEnabledProcessingFactory.getInstance().
 			getAttributeValueRuntimeTypeFeatureProcessors(IPossibleValues.class, docContext, uri1, 
 					"MyTag", "MyBooleanAttr");
 		Assert.assertNotNull(possibleValueProcessors);
@@ -85,7 +84,7 @@
 		Assert.assertTrue(possibleValueProcessors.isEmpty());
 		
 		//get extended feature - Bark Processors	
-		List barkProcessors	= MetaDataEnabledProcessingFactory.getInstance().
+		List<?> barkProcessors	= MetaDataEnabledProcessingFactory.getInstance().
 		getAttributeValueRuntimeTypeFeatureProcessors(IBarker.class, docContext, uri1, 
 				"MyTag", "BooleanAttr");  //invalid 
 		
@@ -94,7 +93,7 @@
 		Assert.assertTrue(barkProcessors.size() == 1);
 		
 		IBarker barker = (IBarker)barkProcessors.get(0);
-		Iterator it = barker.getBarks().iterator();
+		Iterator<?> it = barker.getBarks().iterator();
 		while (it.hasNext()){
 			System.out.println((String)it.next());
 		}
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/taglibprocessing/AllTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/taglibprocessing/AllTests.java
index ff153f0..61744b4 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/taglibprocessing/AllTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/taglibprocessing/AllTests.java
@@ -12,6 +12,7 @@
 package org.eclipse.jst.jsf.metadata.tests.taglibprocessing;
 
 import junit.framework.Test;
+import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.eclipse.jst.jsf.core.JSFVersion;
@@ -73,7 +74,7 @@
 		//$JUnit-END$
 		return suite;
 	}
-	private static void addTestSuite(TestSuite suite, Class<?> klass) {
+	private static void addTestSuite(TestSuite suite, Class<? extends TestCase> klass) {
 		if (!_inited) {
 			_jsfRuntimePresentV11 = JSFCoreUtilHelper.isJSFRuntimeJarsDirectoryPropertySet(JSFVersion.V1_1);
 			_jsfRuntimePresentV12 = JSFCoreUtilHelper.isJSFRuntimeJarsDirectoryPropertySet(JSFVersion.V1_2);
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/util/BaseTestCase.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/util/BaseTestCase.java
index cc7e105..81c448f 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/util/BaseTestCase.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/metadata/tests/util/BaseTestCase.java
@@ -15,7 +15,7 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.core.JSFVersion;
 import org.eclipse.jst.jsf.core.tests.util.JSFFacetedTestEnvironment;
 import org.eclipse.jst.jsf.metadata.tests.MetadataTestsPlugin;
@@ -102,7 +102,7 @@
         
         _testEnv = new WebProjectTestEnvironment
             ("MetaDataTest_"+this.getClass().getName()+"_"+getName()+"_"+_configuration.getJsfVersion()
-                    , JavaFacetUtils.JAVA_50
+                    , JavaFacet.VERSION_1_5
                     , ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion(webProjVersion));
         _testEnv.createProject(false);
         assertNotNull(_testEnv);       
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadataprocessingtests2/src/org/eclipse/jst/jsf/metadataprocessingtests2/NoImplPossibleVals.java b/jsf/tests/org.eclipse.jst.jsf.metadataprocessingtests2/src/org/eclipse/jst/jsf/metadataprocessingtests2/NoImplPossibleVals.java
index a0b2fef..2679963 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadataprocessingtests2/src/org/eclipse/jst/jsf/metadataprocessingtests2/NoImplPossibleVals.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadataprocessingtests2/src/org/eclipse/jst/jsf/metadataprocessingtests2/NoImplPossibleVals.java
@@ -25,13 +25,11 @@
 		super();
 	}
 
-	@SuppressWarnings("unchecked")
-	public List getPossibleValues() {
+	public List<?> getPossibleValues() {
 		return getPossibleVals();
 	}
 
-	@SuppressWarnings("unchecked")
-	private List getPossibleVals() {
+	private List<?> getPossibleVals() {
 		return getTraitValueAsListOfStrings(IPossibleValues.POSSIBLE_VALUES_PROP_NAME);
 //		return CMAnnotationHelper.getCMAttributePropertyValues(getCMAnnotationContext().getBundleId(), getCMAnnotationContext().getUri(),
 //				getCMAnnotationContext().getElementName(), getCMAnnotationContext().getAttributeName(),
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 1d4bdf6..653754d 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
@@ -13,7 +13,7 @@
  org.eclipse.jst.j2ee.web;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.wst.common.core;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.wst.validation;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.wst.internet.cache;bundle-version="[1.0.201,1.2.0)",
@@ -24,8 +24,10 @@
  org.eclipse.jem.util;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.wst.sse.core,
  org.eclipse.wst.xml.core,
- org.eclipse.ui.ide;bundle-version="3.4.0"
-Export-Package: org.eclipse.jst.jsf.test.util
+ org.eclipse.ui.ide;bundle-version="3.4.0",
+ org.eclipse.jst.common.project.facet.core;bundle-version="1.4.100"
+Export-Package: org.eclipse.jst.jsf.test.util,
+ org.eclipse.jst.jsf.test.util.junit4
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ConfigurableTestSuite.java b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ConfigurableTestSuite.java
index 7a72cb2..9c32f84 100644
--- a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ConfigurableTestSuite.java
+++ b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/ConfigurableTestSuite.java
@@ -10,12 +10,13 @@
  *******************************************************************************/
 package org.eclipse.jst.jsf.test.util;
 
-import org.eclipse.jst.jsf.test.util.ConfigurableTestCase.TestConfiguration;
-
 import junit.framework.Test;
+import junit.framework.TestCase;
 import junit.framework.TestResult;
 import junit.framework.TestSuite;
 
+import org.eclipse.jst.jsf.test.util.ConfigurableTestCase.TestConfiguration;
+
 public class ConfigurableTestSuite extends TestSuite 
 {
     protected TestConfiguration    _configuration;
@@ -26,7 +27,7 @@
      * @param theClass
      * @param name
      */
-    public ConfigurableTestSuite(Class<?> theClass, String name) {
+    public ConfigurableTestSuite(Class<? extends TestCase> theClass, String name) {
         super(theClass, name);
     }
 
diff --git a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/WebProjectTestEnvironment.java b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/WebProjectTestEnvironment.java
index 3719cef..a22906f 100644
--- a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/WebProjectTestEnvironment.java
+++ b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/WebProjectTestEnvironment.java
@@ -26,8 +26,8 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
 import org.eclipse.jst.common.project.facet.JavaProjectFacetCreationDataModelProvider;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.j2ee.internal.web.archive.operations.WebFacetProjectCreationDataModelProvider;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
@@ -55,7 +55,7 @@
      * @param projectName
      */
     public WebProjectTestEnvironment(String projectName) {
-        this(projectName, JavaFacetUtils.JAVA_50, ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
+        this(projectName, JavaFacet.VERSION_1_5, ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion("2.4"));
     }
 
     /**
diff --git a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/junit4/FastTest.java b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/junit4/FastTest.java
new file mode 100644
index 0000000..f5186db
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/junit4/FastTest.java
@@ -0,0 +1,15 @@
+package org.eclipse.jst.jsf.test.util.junit4;
+
+/**
+ * @author cbateman
+ * 
+ *         This class should never be used directly. It is used to mark JUnit
+ *         test classes that run "fast".  This generally means they have 
+ *         little or no environment startup costs and take less than 1 second
+ *         to run each test case object.
+ * 
+ */
+public interface FastTest
+{
+    // do nothing
+}
diff --git a/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/junit4/NoPluginEnvironment.java b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/junit4/NoPluginEnvironment.java
new file mode 100644
index 0000000..34ca785
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.test.util/src/org/eclipse/jst/jsf/test/util/junit4/NoPluginEnvironment.java
@@ -0,0 +1,13 @@
+package org.eclipse.jst.jsf.test.util.junit4;
+
+/**
+ * @author cbateman
+ * 
+ * This class should never be used directly.  It is used to mark JUnit test
+ * classes that don't require the Eclipse plugin environment to run.
+ *
+ */
+public interface NoPluginEnvironment extends FastTest
+{
+    // do nothing
+}
diff --git a/jsf/tests/org.eclipse.jst.jsf.ui.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.ui.tests/META-INF/MANIFEST.MF
index 6fa5abb..2f0c798 100644
--- a/jsf/tests/org.eclipse.jst.jsf.ui.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.ui.tests/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
  org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.jst.jsf.core.tests;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.jst.jsf.ui;bundle-version="[1.0.0,2.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.emf.common;bundle-version="[2.2.0,3.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.2.0,3.0.0)",
  org.eclipse.ui.forms,
diff --git a/jsf/tests/org.eclipse.jst.jsf.ui.tests/src/org/eclipse/jst/jsf/ui/tests/util/JSFUITestHelper.java b/jsf/tests/org.eclipse.jst.jsf.ui.tests/src/org/eclipse/jst/jsf/ui/tests/util/JSFUITestHelper.java
index 19c69b9..b5c030d 100644
--- a/jsf/tests/org.eclipse.jst.jsf.ui.tests/src/org/eclipse/jst/jsf/ui/tests/util/JSFUITestHelper.java
+++ b/jsf/tests/org.eclipse.jst.jsf.ui.tests/src/org/eclipse/jst/jsf/ui/tests/util/JSFUITestHelper.java
@@ -51,7 +51,6 @@
 		}
 	}
 	
-	@SuppressWarnings("unchecked")
 	public static PreferenceDialog getPreferenceDialog(String id) {
 		PreferenceDialogWrapper dialog = null;
 		PreferenceManager manager = WorkbenchPlugin.getDefault().getPreferenceManager();
@@ -59,7 +58,7 @@
 			dialog = new PreferenceDialogWrapper(getShell(), manager);
 			dialog.create();	
 
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
+			for (Iterator<?> iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
 			     iterator.hasNext();)
 			{
 				IPreferenceNode node = (IPreferenceNode)iterator.next();
@@ -72,7 +71,6 @@
 		return dialog;
 	}
 	
-	@SuppressWarnings("unchecked")
 	public static PropertyDialog getPropertyDialog(String id, IAdaptable element) {
 		PropertyDialogWrapper dialog = null;
 
@@ -90,7 +88,7 @@
 		}
 		
 		// testing if there are pages in the manager
-		Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();		
+		Iterator<?> pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();		
 		if (!pages.hasNext())
 			return null;
 		
@@ -98,7 +96,7 @@
 		dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element)); 
 		dialog.create();
 		dialog.getShell().setText(title);
-		for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
+		for (Iterator<?> iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
 		     iterator.hasNext();) {
 			IPreferenceNode node = (IPreferenceNode)iterator.next();
 			if ( node.getId().equals(id) ) {
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/META-INF/MANIFEST.MF
index 32fc55c..d506c15 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.junit;bundle-version="[3.8.1,4.0.0)",
+ org.junit;bundle-version="3.8.1",
  org.eclipse.jst.jsf.core.tests;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
@@ -24,7 +24,8 @@
  org.eclipse.wst.common.project.facet.core;bundle-version="[1.2.0,2.0.0)",
  org.eclipse.emf.common;bundle-version="[2.2.0,3.0.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.102,2.0.0)",
- org.eclipse.emf.ecore;bundle-version="2.4.1"
+ org.eclipse.emf.ecore;bundle-version="2.4.1",
+ org.eclipse.jst.common.project.facet.core;bundle-version="1.4.100"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.jst.jsf.validation.el.tests;x-internal:=true,
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/base/BaseTestCase.java b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/base/BaseTestCase.java
index ddb606e..bbd8a94 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/base/BaseTestCase.java
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/base/BaseTestCase.java
@@ -25,7 +25,7 @@
 import org.eclipse.jdt.core.IPackageFragmentRoot;
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
 import org.eclipse.jst.jsf.context.IModelContext;
 import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
 import org.eclipse.jst.jsf.core.JSFVersion;
@@ -121,7 +121,7 @@
         
         _testEnv = new WebProjectTestEnvironment
             ("ELValidationTest_"+this.getClass().getName()+"_"+getName()+"_"+_configuration.getJsfVersion()
-                    , JavaFacetUtils.JAVA_50
+                    , JavaFacet.VERSION_1_5
                     , ProjectFacetsManager.getProjectFacet( "jst.web" ).getVersion(webProjVersion));
         _testEnv.createProject(false);
         assertNotNull(_testEnv);       
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LoadBundleResolutionTestCase.java b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LoadBundleResolutionTestCase.java
index 1ae05cc..d53994c 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LoadBundleResolutionTestCase.java
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LoadBundleResolutionTestCase.java
@@ -126,7 +126,6 @@
     }
 
 
-    @SuppressWarnings("unchecked")
     private void ensureMissingBundleValidation()
     {
         final IStructuredDocumentContext context =
@@ -141,7 +140,7 @@
         assertEquals(IJSFConstants.ATTR_BASENAME, attr.getLocalName());
 
         // verify that attribute value validation is picking up on missing bundles
-        final List vv =
+        final List<?> vv =
             MetaDataEnabledProcessingFactory.getInstance()
             .getAttributeValueRuntimeTypeFeatureProcessors
             (IValidValues.class, context, ITLDConstants.URI_JSF_CORE
@@ -149,7 +148,7 @@
 
         boolean validatesMissingBundle = false;
 
-        for (final Iterator it = vv.iterator();it.hasNext();)
+        for (final Iterator<?> it = vv.iterator();it.hasNext();)
         {
             final IValidValues v = (IValidValues)it.next();
             if (attributeVal == null)
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/perf/PropertyFileStressTest.java b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/perf/PropertyFileStressTest.java
index 899c653..e836361 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/perf/PropertyFileStressTest.java
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/perf/PropertyFileStressTest.java
@@ -48,12 +48,11 @@
         super.tearDown();
     }
 
-    @SuppressWarnings("unchecked")
     @Override
     public void testSanity() throws RuntimeException
     {
         super.testSanity();
-        Map resourceBundleMapSource;
+        Map<?,?> resourceBundleMapSource;
         try
         {
             resourceBundleMapSource = ResourceBundleMapSourceFactory
@@ -72,7 +71,6 @@
         assertEquals(8687, resourceBundleMapSource.size());
     }
 
-    @SuppressWarnings("unchecked")
     public void testMapDescriptor_GetProperties() throws JavaModelException,
             IOException, CoreException
     {
@@ -82,7 +80,7 @@
 
         for (int i = 0; i < NUM_RESOURCE_TESTS; i++)
         {
-            final Map mapSource = ResourceBundleMapSourceFactory
+            final Map<?,?> mapSource = ResourceBundleMapSourceFactory
                     .getResourceBundleMapSource(_testEnv.getTestProject(),
                             "res.stress1");
             final IMapTypeDescriptor typeDesc = SymbolFactory.eINSTANCE
@@ -95,7 +93,6 @@
         perfTracker.printReport(System.out);
     }
 
-    @SuppressWarnings("unchecked")
     public void testResourceMapSourceFactory() throws JavaModelException,
             IOException, CoreException
     {
@@ -107,7 +104,7 @@
         {
             final long startTime = System.nanoTime();
             @SuppressWarnings("unused")
-            Map resourceBundleMapSource = ResourceBundleMapSourceFactory
+            Map<?,?> resourceBundleMapSource = ResourceBundleMapSourceFactory
                     .getResourceBundleMapSource(_testEnv.getTestProject(),
                             "res.stress1");
             perfTracker.recordTime(System.nanoTime() - startTime);
@@ -115,7 +112,6 @@
         perfTracker.printReport(System.out);
     }
 
-    @SuppressWarnings("unchecked")
     public void testResourceMapSource_GetEntrySet() throws JavaModelException,
             IOException, CoreException
     {
@@ -125,7 +121,7 @@
 
         for (int i = 0; i < NUM_RESOURCE_TESTS; i++)
         {
-            Map resourceBundleMapSource = ResourceBundleMapSourceFactory
+            Map<?,?> resourceBundleMapSource = ResourceBundleMapSourceFactory
                     .getResourceBundleMapSource(_testEnv.getTestProject(),
                             "res.stress1");
             final long startTime = System.nanoTime();
diff --git a/jsf/tests/org.eclipse.jst.pagedesigner.tests/META-INF/MANIFEST.MF b/jsf/tests/org.eclipse.jst.pagedesigner.tests/META-INF/MANIFEST.MF
index c150314..9d6c458 100644
--- a/jsf/tests/org.eclipse.jst.pagedesigner.tests/META-INF/MANIFEST.MF
+++ b/jsf/tests/org.eclipse.jst.pagedesigner.tests/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Localization: plugin
-Require-Bundle: org.junit;bundle-version="[3.8.1,4.0.0)",
+Require-Bundle: org.junit;bundle-version="3.8.1",
  org.eclipse.jst.jsf.test.util;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
diff --git a/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/AllTests.java b/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/AllTests.java
index e6ea4f7..8b31dd8 100644
--- a/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/AllTests.java
+++ b/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/AllTests.java
@@ -11,6 +11,7 @@
 package org.eclipse.jst.pagedesigner.tests;
 
 import junit.framework.Test;
+import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.eclipse.jst.jsf.core.JSFVersion;
@@ -91,7 +92,7 @@
     }
 
     private static void addTestRequiringJSFRuntime(TestSuite suite,
-            Class<?> testClass, JSFVersion jsfVersion)
+            Class<? extends TestCase> testClass, JSFVersion jsfVersion)
     {
         if (JSFCoreUtilHelper.isJSFRuntimeJarsDirectoryValid(jsfVersion))
         {
diff --git a/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestOverrideableCreationData.java b/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestOverrideableCreationData.java
index 2327d0a..d192f52 100644
--- a/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestOverrideableCreationData.java
+++ b/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestOverrideableCreationData.java
@@ -133,7 +133,8 @@
 		IWritableCustomizationData data = new CustomizationDataImpl(
 				getTagIdentifier()) {
 
-			@Override
+			@SuppressWarnings("rawtypes")
+            @Override
 			public Object getAdapter(Class adapter) {
 				if (ITagDropOverrider.class == adapter) {
 					return getCustomizationAdapter();
diff --git a/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestTagCreationFactory.java b/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestTagCreationFactory.java
index ff709ad..c95eb4c 100644
--- a/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestTagCreationFactory.java
+++ b/jsf/tests/org.eclipse.jst.pagedesigner.tests/src/org/eclipse/jst/pagedesigner/tests/tagcreator/TestTagCreationFactory.java
@@ -204,7 +204,6 @@
         assertExpectedResult(jspFile, "jsp");
     }
 
-    @SuppressWarnings("unchecked")
     public void testDropCustomizationDataAcquistion() throws Exception
     {
         final IFile jspFile = (IFile) _webProjectTestEnv.loadResourceInWebRoot(
@@ -214,6 +213,7 @@
 
         final IAdaptable adaptable = new IAdaptable()
         {
+            @SuppressWarnings("rawtypes")
             public Object getAdapter(final Class adapter) {
                 if (Map.class == adapter)
                 {
@@ -237,7 +237,7 @@
 
         final IAdaptable value = ((MockCreateItemCommand)commands[0]).getCustomizationDataTesting();
         assertEquals(adaptable, value);
-        final Map map = (Map) value.getAdapter(Map.class);
+        final Map<?, ?> map = (Map<?, ?>) value.getAdapter(Map.class);
         assertNotNull(map);
         assertEquals("red", map.get("color"));
     }