Bug 527694: Allows for Web Fragment 4.0 Projects to be created.

This patch allows for Web Fragment 4.0 projects to be created.
Additionally, it updates the default WebAppVersion type in the model
code from 3.1 to 4.0.

Signed-off-by: John Collier <John.J.Collier@ibm.com>
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 f0eacff..78ac026 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,7 +3255,8 @@
 		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$
 		initEDataType(dispatcherTypeObjectEDataType, DispatcherType.class, "DispatcherTypeObject", 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/project/facet/WebFragmentProjectFirstPage.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/project/facet/WebFragmentProjectFirstPage.java
index 38ba6b1..6b7cfd8 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);
 		    }