[209848] Unable to access MASTER_PROJECT_DM IDataModel from FacetInstallDataModelProvider
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 ff556a0..f9c949b 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
@@ -44,6 +44,8 @@
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
@@ -82,6 +84,31 @@
final IFacetedProjectWorkingCopy fpjwc = FacetedProjectFramework.createNewProject();
model.setProperty(FACETED_PROJECT_WORKING_COPY, fpjwc);
+ fpjwc.addListener
+ (
+ new IFacetedProjectListener()
+ {
+ public void handleEvent( final IFacetedProjectEvent event )
+ {
+ for( IFacetedProject.Action action : fpjwc.getProjectFacetActions() )
+ {
+ final Object config = action.getConfig();
+
+ if( config != null && config instanceof IDataModel )
+ {
+ final IDataModel dm = (IDataModel) config;
+
+ if( dm.getAllProperties().contains( FacetInstallDataModelProvider.MASTER_PROJECT_DM ) )
+ {
+ dm.setProperty( FacetInstallDataModelProvider.MASTER_PROJECT_DM, model );
+ }
+ }
+ }
+ }
+ },
+ IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED
+ );
+
IDataModel projectDataModel = DataModelFactory.createDataModel(new ProjectCreationDataModelProviderNew());
projectDataModel.addListener(new IDataModelListener() {
public void propertyChanged(DataModelEvent event) {