Search in sources :

Example 1 with JavaFacetInstallConfig

use of org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig in project liferay-ide by liferay.

the class SDKPluginFacetUtil method configureJavaFacet.

public static void configureJavaFacet(IFacetedProjectWorkingCopy fpjwc, IProjectFacet requiredFacet, IPreset preset, ProjectRecord projectRecord) {
    Action action = fpjwc.getProjectFacetAction(requiredFacet);
    if (action == null) {
        return;
    }
    Object config = action.getConfig();
    if (!(config instanceof JavaFacetInstallConfig)) {
        return;
    }
    JavaFacetInstallConfig javaConfig = (JavaFacetInstallConfig) config;
    IDataModel dm = (IDataModel) Platform.getAdapterManager().getAdapter(config, IDataModel.class);
    String presetId = preset.getId();
    if (presetId.contains("portlet")) {
        javaConfig.setSourceFolder(new Path(IPluginFacetConstants.PORTLET_PLUGIN_SDK_SOURCE_FOLDER));
        javaConfig.setDefaultOutputFolder(new Path(IPluginFacetConstants.PORTLET_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER));
        dm.setStringProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME, IPluginFacetConstants.PORTLET_PLUGIN_SDK_SOURCE_FOLDER);
        dm.setStringProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, IPluginFacetConstants.PORTLET_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER);
    } else if (presetId.contains("hook")) {
        javaConfig.setSourceFolder(new Path(IPluginFacetConstants.HOOK_PLUGIN_SDK_SOURCE_FOLDER));
        javaConfig.setDefaultOutputFolder(new Path(IPluginFacetConstants.HOOK_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER));
        dm.setStringProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME, IPluginFacetConstants.HOOK_PLUGIN_SDK_SOURCE_FOLDER);
        dm.setStringProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, IPluginFacetConstants.HOOK_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER);
    } else if (presetId.contains("layouttpl")) {
        _removeSrcFolders(dm, javaConfig);
    } else if (presetId.contains("theme")) {
        IPath projectPath = projectRecord.getProjectLocation();
        IPath existingSrcFolder = projectPath.append(IPluginFacetConstants.PORTLET_PLUGIN_SDK_SOURCE_FOLDER);
        if (existingSrcFolder.toFile().exists()) {
            javaConfig.setSourceFolder(new Path(IPluginFacetConstants.PORTLET_PLUGIN_SDK_SOURCE_FOLDER));
            javaConfig.setDefaultOutputFolder(new Path(IPluginFacetConstants.PORTLET_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER));
            dm.setStringProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME, IPluginFacetConstants.PORTLET_PLUGIN_SDK_SOURCE_FOLDER);
            dm.setStringProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, IPluginFacetConstants.PORTLET_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER);
        } else {
            _removeSrcFolders(dm, javaConfig);
        }
    } else if (presetId.contains("web")) {
        javaConfig.setSourceFolder(new Path(IPluginFacetConstants.WEB_PLUGIN_SDK_SOURCE_FOLDER));
        javaConfig.setDefaultOutputFolder(new Path(IPluginFacetConstants.WEB_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER));
        dm.setStringProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME, IPluginFacetConstants.WEB_PLUGIN_SDK_SOURCE_FOLDER);
        dm.setStringProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, IPluginFacetConstants.WEB_PLUGIN_SDK_DEFAULT_OUTPUT_FOLDER);
    }
}
Also used : IPath(org.eclipse.core.runtime.IPath) Path(org.eclipse.core.runtime.Path) Action(org.eclipse.wst.common.project.facet.core.IFacetedProject.Action) IPath(org.eclipse.core.runtime.IPath) IDataModel(org.eclipse.wst.common.frameworks.datamodel.IDataModel) JavaFacetInstallConfig(org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig)

Aggregations

IPath (org.eclipse.core.runtime.IPath)1 Path (org.eclipse.core.runtime.Path)1 JavaFacetInstallConfig (org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig)1 IDataModel (org.eclipse.wst.common.frameworks.datamodel.IDataModel)1 Action (org.eclipse.wst.common.project.facet.core.IFacetedProject.Action)1