Merge branch 'R3_9_maintenance' of ssh://canderson@git.eclipse.org/gitroot/jeetools/webtools.javaee.git into R3_9_maintenance
diff --git a/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebFragmentImpl.java b/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebFragmentImpl.java
index 2155520..5d37fff 100644
--- a/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebFragmentImpl.java
+++ b/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebFragmentImpl.java
@@ -190,7 +190,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final WebAppVersionType VERSION_EDEFAULT = WebAppVersionType._31;
+	protected static final WebAppVersionType VERSION_EDEFAULT = WebAppVersionType._40;
 
 	/**
 	 * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
diff --git a/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebPackageImpl.java b/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebPackageImpl.java
index ec0d711..8749a93 100644
--- a/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebPackageImpl.java
+++ b/plugins/org.eclipse.jst.j2ee.core/jee-models/org/eclipse/jst/javaee/web/internal/impl/WebPackageImpl.java
@@ -3255,6 +3255,7 @@
 		addEEnumLiteral(webAppVersionTypeEEnum, WebAppVersionType._25_LITERAL);
 		addEEnumLiteral(webAppVersionTypeEEnum, WebAppVersionType._30_LITERAL);
 		addEEnumLiteral(webAppVersionTypeEEnum, WebAppVersionType._31);
+		addEEnumLiteral(webAppVersionTypeEEnum, WebAppVersionType._40);
 
 		// Initialize data types
 		initEDataType(authMethodTypeEDataType, String.class, "AuthMethodType", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java
index c6cc790..1e7783f 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddFilterWizardPage.java
@@ -177,8 +177,8 @@
 	@Override
 	public void setVisible(boolean visible) {
 		super.setVisible(visible);
-		String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
-		if("3.0".equals(javaEEVersion) || "3.1".equals(javaEEVersion)){ //$NON-NLS-1$ //$NON-NLS-2$			
+		Float javaEEVersion = Float.valueOf(model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION));
+		if (javaEEVersion >= 3.0) {			
 			asyncSupportCheckBox.setVisible(true);
 		}
 		else
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java
index 13fac90..61116f7 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddListenerWizardPage.java
@@ -275,8 +275,8 @@
 	@Override
 	public void setVisible(boolean visible) {
 		super.setVisible(visible);
-		String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
-		if("3.1".equals(javaEEVersion)){ //$NON-NLS-1$ 	
+		Float javaEEVersion = Float.valueOf(model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION));
+		if (javaEEVersion >= 3.1) {
 			setServlet31ListenersVisible(true);
 		}
 		else{
@@ -284,7 +284,6 @@
 		}
 	}
 	
-	
 	private void setServlet31ListenersVisible(boolean visible){
 		changeSessionID.setVisible(visible);
 		changeSessionIDIconLabel.setVisible(visible);
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java
index 9df611a..783344e 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/wizard/AddServletWizardPage.java
@@ -216,8 +216,8 @@
 	@Override
 	public void setVisible(boolean visible) {
 		super.setVisible(visible);
-		String javaEEVersion = model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION);
-		if("3.0".equals(javaEEVersion) || "3.1".equals(javaEEVersion)){ //$NON-NLS-1$ //$NON-NLS-2$			
+		Float javaEEVersion = Float.valueOf(model.getStringProperty(INewServletClassDataModelProperties.JAVA_EE_VERSION));
+		if (javaEEVersion >= 3.0) {		
 			asyncSupportCheckBox.setVisible(true);
 		}
 		else
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/project/facet/WebFragmentProjectFirstPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/project/facet/WebFragmentProjectFirstPage.java
index 38ba6b1..90cd6f5 100644
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/project/facet/WebFragmentProjectFirstPage.java
+++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/project/facet/WebFragmentProjectFirstPage.java
@@ -101,7 +101,11 @@
 	    else {
 		    facets.add(primaryFacetVersion);
 		    
-		    if(primaryFacetVersion == WebFacetUtils.WEBFRAGMENT_31)
+			if(primaryFacetVersion == WebFacetUtils.WEBFRAGMENT_40)
+			{
+				facets.add(JavaFacet.VERSION_1_8);
+			}
+		    else if(primaryFacetVersion == WebFacetUtils.WEBFRAGMENT_31)
 		    {
 		        facets.add(JavaFacet.VERSION_1_7);
 		    }