Fixes for some of the failing JUnit tests.
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
index 13105a9..ff556a0 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
@@ -15,6 +15,7 @@
 import java.util.Collection;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
@@ -37,6 +38,8 @@
 import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
 import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
 import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
 import org.eclipse.wst.common.project.facet.core.IProjectFacet;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
@@ -75,7 +78,10 @@
 
 	public void init() {
 		super.init();
-		model.setProperty(FACETED_PROJECT_WORKING_COPY, FacetedProjectFramework.createNewProject());
+		
+		final IFacetedProjectWorkingCopy fpjwc = FacetedProjectFramework.createNewProject();
+		model.setProperty(FACETED_PROJECT_WORKING_COPY, fpjwc);
+		
 		IDataModel projectDataModel = DataModelFactory.createDataModel(new ProjectCreationDataModelProviderNew());
 		projectDataModel.addListener(new IDataModelListener() {
 			public void propertyChanged(DataModelEvent event) {
@@ -269,6 +275,25 @@
 				}
 			}
 		}
+		else if( REQUIRED_FACETS_COLLECTION.equals(propertyName) )
+		{
+		    final IFacetedProjectWorkingCopy fpjwc 
+		        = (IFacetedProjectWorkingCopy) this.model.getProperty( FACETED_PROJECT_WORKING_COPY );
+		    
+	        final Collection<IProjectFacet> fixedFacets = (Collection<IProjectFacet>) propertyValue;
+	        
+	        fpjwc.setFixedProjectFacets( new HashSet<IProjectFacet>( fixedFacets ) );
+	        
+	        final FacetDataModelMap facetDmMap = (FacetDataModelMap) getProperty( FACET_DM_MAP );
+	        
+	        for( IProjectFacet facet : fixedFacets )
+	        {
+	            final IFacetedProject.Action action 
+	                = fpjwc.getProjectFacetAction( IFacetedProject.Action.Type.INSTALL, facet );
+	            
+	            facetDmMap.add( (IDataModel) action.getConfig() );
+	        }
+		}
 		return super.propertySet(propertyName, propertyValue);
 	}