public void setupNewProject(IDataModel dataModel, IFacetedProjectWorkingCopy facetedProject) {
    ProjectUtil.setGenerateDD(dataModel, true);

    FacetDataModelMap map = (FacetDataModelMap) dataModel.getProperty(FACET_DM_MAP);
    IDataModel webFacetModel = map.getFacetDataModel(IJ2EEFacetConstants.DYNAMIC_WEB_FACET.getId());

    webFacetModel.setStringProperty(
        IWebFacetInstallDataModelProperties.CONFIG_FOLDER,
        IPluginFacetConstants.PORTLET_PLUGIN_SDK_CONFIG_FOLDER);
    webFacetModel.setStringProperty(
        IWebFacetInstallDataModelProperties.SOURCE_FOLDER,
        IPluginFacetConstants.PORTLET_PLUGIN_SDK_SOURCE_FOLDER);
    IDataModel javaFacetModel = map.getFacetDataModel(JavaFacet.FACET.getId());
    javaFacetModel.setStringProperty(
        IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME,
        IPluginFacetConstants.PORTLET_PLUGIN_SDK_SOURCE_FOLDER);
    javaFacetModel.setStringProperty(
        IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME,
        IPluginFacetConstants.PORTLET_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER);

    if (dataModel.isNestedModel(PLUGIN_FRAGMENT_DM)) {
      dataModel.removeNestedModel(PLUGIN_FRAGMENT_DM);
    }

    // need to allow portlet framework to do any additional configuration

    IPortletFramework portletFramework =
        (IPortletFramework) dataModel.getProperty(PORTLET_FRAMEWORK);

    portletFramework.configureNewProject(dataModel, facetedProject);
  }