Search in sources :

Example 1 with IProjectFacetVersion

use of org.eclipse.wst.common.project.facet.core.IProjectFacetVersion in project liferay-ide by liferay.

the class JSFPortletFramework method configureNewProject.

@Override
public IStatus configureNewProject(IDataModel dataModel, IFacetedProjectWorkingCopy facetedProject) {
    IProjectFacetVersion jsfFacetVersion = getJSFProjectFacet(facetedProject);
    IProjectFacet jsfFacet = PortletCore.JSF_FACET;
    if (jsfFacetVersion == null) {
        jsfFacetVersion = jsfFacet.getVersion(JSF_FACET_SUPPORTED_VERSION);
        facetedProject.addProjectFacet(jsfFacetVersion);
    }
    Action action = facetedProject.getProjectFacetAction(jsfFacet);
    IDataModel jsfFacetDataModel = (IDataModel) action.getConfig();
    // TODO IDE-648 IDE-110
    jsfFacetDataModel.setProperty(SERVLET_URL_PATTERNS, null);
    jsfFacetDataModel.setProperty(WEBCONTENT_DIR, ISDKConstants.DEFAULT_DOCROOT_FOLDER);
    LibraryInstallDelegate libraryInstallDelegate = (LibraryInstallDelegate) jsfFacetDataModel.getProperty(LIBRARY_PROVIDER_DELEGATE);
    List<ILibraryProvider> providers = libraryInstallDelegate.getLibraryProviders();
    ILibraryProvider noOpProvider = null;
    for (ILibraryProvider provider : providers) {
        if (provider.getId().equals("jsf-no-op-library-provider")) {
            noOpProvider = provider;
            break;
        }
    }
    if (noOpProvider != null) {
        libraryInstallDelegate.setLibraryProvider(noOpProvider);
    }
    return Status.OK_STATUS;
}
Also used : Action(org.eclipse.wst.common.project.facet.core.IFacetedProject.Action) IProjectFacetVersion(org.eclipse.wst.common.project.facet.core.IProjectFacetVersion) IProjectFacet(org.eclipse.wst.common.project.facet.core.IProjectFacet) LibraryInstallDelegate(org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate) ILibraryProvider(org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider) IDataModel(org.eclipse.wst.common.frameworks.datamodel.IDataModel)

Example 2 with IProjectFacetVersion

use of org.eclipse.wst.common.project.facet.core.IProjectFacetVersion in project liferay-ide by liferay.

the class SDKProjectConvertDataModelProvider method init.

@Override
public void init() {
    super.init();
    // set the project facets to get the runtime target dropdown to only show liferay runtimes
    IFacetedProjectWorkingCopy facetedProject = getFacetedProjectWorkingCopy();
    Set<IProjectFacetVersion> facets = ProjectUtil.getFacetsForPreset(IPluginFacetConstants.LIFERAY_PORTLET_PRESET);
    Set<IProjectFacet> fixedFacets = new HashSet<>();
    for (IProjectFacetVersion pfv : facets) {
        fixedFacets.add(pfv.getProjectFacet());
    }
    facetedProject.setFixedProjectFacets(Collections.unmodifiableSet(fixedFacets));
}
Also used : IProjectFacetVersion(org.eclipse.wst.common.project.facet.core.IProjectFacetVersion) IProjectFacet(org.eclipse.wst.common.project.facet.core.IProjectFacet) IFacetedProjectWorkingCopy(org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy) HashSet(java.util.HashSet)

Example 3 with IProjectFacetVersion

use of org.eclipse.wst.common.project.facet.core.IProjectFacetVersion in project liferay-ide by liferay.

the class PluginFacetProjectCreationDataModelProvider method removeFacet.

protected void removeFacet(IFacetedProjectWorkingCopy facetedProject, IProjectFacet facet) {
    if ((facetedProject == null) || (facet == null)) {
        return;
    }
    Set<IProjectFacetVersion> newFacetSet = new HashSet<>();
    Set<IProjectFacetVersion> facets = facetedProject.getProjectFacets();
    for (IProjectFacetVersion fv : facets) {
        if (!(fv.getProjectFacet().equals(facet))) {
            newFacetSet.add(fv);
        }
    }
    facetedProject.setProjectFacets(newFacetSet);
}
Also used : IProjectFacetVersion(org.eclipse.wst.common.project.facet.core.IProjectFacetVersion) HashSet(java.util.HashSet)

Example 4 with IProjectFacetVersion

use of org.eclipse.wst.common.project.facet.core.IProjectFacetVersion in project liferay-ide by liferay.

the class SDKPluginFacetUtil method configureProjectAsRuntimeProject.

public static void configureProjectAsRuntimeProject(IFacetedProjectWorkingCopy fpjwc, IRuntime runtime, String pluginType, String sdkLocation, ProjectRecord projectRecord) throws CoreException {
    fpjwc.setTargetedRuntimes(Collections.<IRuntime>emptySet());
    if (runtime != null) {
        fpjwc.setTargetedRuntimes(Collections.singleton(runtime));
    }
    fpjwc.setPrimaryRuntime(runtime);
    // fpjwc.setSelectedPreset(
    // FacetedProjectFramework.DEFAULT_CONFIGURATION_PRESET_ID );
    IFacetedProjectTemplate template = getLiferayTemplateForProject(pluginType);
    IPreset preset = getLiferayPresetForProject(pluginType);
    if (preset == null) {
        throw new CoreException(ProjectCore.createErrorStatus(NLS.bind(Msgs.noFacetPreset, fpjwc.getProjectName())));
    }
    Set<IProjectFacetVersion> currentProjectFacetVersions = fpjwc.getProjectFacets();
    Set<IProjectFacet> requiredFacets = template.getFixedProjectFacets();
    for (IProjectFacet requiredFacet : requiredFacets) {
        boolean hasRequiredFacet = false;
        for (IProjectFacetVersion currentFacetVersion : currentProjectFacetVersions) {
            if (currentFacetVersion.getProjectFacet().equals(requiredFacet)) {
                boolean supports = runtime.supports(currentFacetVersion);
                boolean requiredVersion = _isRequiredVersion(currentFacetVersion);
                if (supports && requiredVersion) {
                    hasRequiredFacet = true;
                } else {
                    fpjwc.removeProjectFacet(currentFacetVersion);
                }
                break;
            }
        }
        if (!hasRequiredFacet) {
            IProjectFacetVersion requiredFacetVersion = _getRequiredFacetVersionFromPreset(requiredFacet, preset);
            if (requiredFacetVersion != null) {
                fpjwc.addProjectFacet(requiredFacetVersion);
                if (ProjectUtil.isJavaFacet(requiredFacetVersion)) {
                    configureJavaFacet(fpjwc, requiredFacetVersion.getProjectFacet(), preset, projectRecord);
                } else if (ProjectUtil.isDynamicWebFacet(requiredFacetVersion)) {
                    configureWebFacet(fpjwc, requiredFacetVersion.getProjectFacet(), preset);
                }
            }
        } else {
            if (ProjectUtil.isJavaFacet(requiredFacet)) {
                configureJavaFacet(fpjwc, requiredFacet, preset, projectRecord);
            } else if (ProjectUtil.isDynamicWebFacet(requiredFacet)) {
                configureWebFacet(fpjwc, requiredFacet, preset);
            }
        }
    }
}
Also used : CoreException(org.eclipse.core.runtime.CoreException) IProjectFacetVersion(org.eclipse.wst.common.project.facet.core.IProjectFacetVersion) IFacetedProjectTemplate(org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate) IPreset(org.eclipse.wst.common.project.facet.core.IPreset) IProjectFacet(org.eclipse.wst.common.project.facet.core.IProjectFacet)

Example 5 with IProjectFacetVersion

use of org.eclipse.wst.common.project.facet.core.IProjectFacetVersion in project jbosstools-hibernate by jbosstools.

the class JPAProjectConfigurator method configure.

@Override
public void configure(IProject project, Set<IPath> ignoredDirectories, IProgressMonitor monitor) {
    try {
        IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
        // $NON-NLS-1$
        IProjectFacet JPA_FACET = ProjectFacetsManager.getProjectFacet("jpt.jpa");
        if (!facetedProject.hasProjectFacet(JPA_FACET)) {
            Set<Action> actions = new LinkedHashSet<>(2, 1);
            IProjectFacetVersion javaFv = JavaFacet.FACET.getVersion(JavaFacetUtil.getCompilerLevel(project));
            if (!facetedProject.hasProjectFacet(JavaFacet.FACET)) {
                actions.add(new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL, javaFv, null));
            } else if (!facetedProject.hasProjectFacet(javaFv)) {
                actions.add(new IFacetedProject.Action(IFacetedProject.Action.Type.VERSION_CHANGE, javaFv, null));
            }
            // $NON-NLS-1$
            RecursiveFileFinder finder = new RecursiveFileFinder("persistence.xml", ignoredDirectories);
            project.accept(finder);
            PersistenceXmlResourceProvider provider = PersistenceXmlResourceProvider.getXmlResourceProvider(finder.getFile());
            JptXmlResource jpaXmlResource = provider.getXmlResource();
            IProjectFacetVersion version = null;
            if (jpaXmlResource.getVersion() != null) {
                version = JpaProject.FACET.getVersion(jpaXmlResource.getVersion());
            }
            if (version == null) {
                version = JpaProject.FACET.getLatestVersion();
            }
            // use default
            JpaPlatform platform = null;
            // TODO improve platform detection
            LibraryInstallDelegate libraryDelegate = new LibraryInstallDelegate(facetedProject, version);
            // $NON-NLS-1$
            ILibraryProvider libraryProvider = LibraryProviderFramework.getProvider("jpa-no-op-library-provider");
            libraryDelegate.setLibraryProvider(libraryProvider);
            IDataModel dm = DataModelFactory.createDataModel(new JpaFacetInstallDataModelProvider());
            dm.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, version.getVersionString());
            dm.setProperty(JpaFacetDataModelProperties.PLATFORM, platform);
            dm.setProperty(JpaFacetInstallDataModelProperties.DISCOVER_ANNOTATED_CLASSES, true);
            dm.setProperty(JpaFacetInstallDataModelProperties.LIBRARY_PROVIDER_DELEGATE, libraryDelegate);
            actions.add(new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL, version, dm));
            facetedProject.modify(actions, monitor);
        }
    } catch (Exception ex) {
        HibernateJptUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, HibernateJptUIPlugin.PLUGIN_ID, ex.getMessage(), ex));
    }
}
Also used : LinkedHashSet(java.util.LinkedHashSet) IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) IFacetedProject(org.eclipse.wst.common.project.facet.core.IFacetedProject) Action(org.eclipse.wst.common.project.facet.core.IFacetedProject.Action) JptXmlResource(org.eclipse.jpt.common.core.resource.xml.JptXmlResource) RecursiveFileFinder(org.eclipse.ui.wizards.datatransfer.RecursiveFileFinder) IProjectFacetVersion(org.eclipse.wst.common.project.facet.core.IProjectFacetVersion) JpaFacetInstallDataModelProvider(org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProvider) LibraryInstallDelegate(org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate) ILibraryProvider(org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider) IDataModel(org.eclipse.wst.common.frameworks.datamodel.IDataModel) JpaPlatform(org.eclipse.jpt.jpa.core.JpaPlatform) CoreException(org.eclipse.core.runtime.CoreException) IProjectFacet(org.eclipse.wst.common.project.facet.core.IProjectFacet) Action(org.eclipse.wst.common.project.facet.core.IFacetedProject.Action) PersistenceXmlResourceProvider(org.eclipse.jpt.jpa.core.internal.resource.persistence.PersistenceXmlResourceProvider)

Aggregations

IProjectFacetVersion (org.eclipse.wst.common.project.facet.core.IProjectFacetVersion)22 IProjectFacet (org.eclipse.wst.common.project.facet.core.IProjectFacet)10 CoreException (org.eclipse.core.runtime.CoreException)7 IFacetedProject (org.eclipse.wst.common.project.facet.core.IFacetedProject)5 IFacetedProjectWorkingCopy (org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy)5 HashSet (java.util.HashSet)4 IPreset (org.eclipse.wst.common.project.facet.core.IPreset)4 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)3 IDataModel (org.eclipse.wst.common.frameworks.datamodel.IDataModel)3 Action (org.eclipse.wst.common.project.facet.core.IFacetedProject.Action)3 Iterator (java.util.Iterator)2 IProject (org.eclipse.core.resources.IProject)2 IStatus (org.eclipse.core.runtime.IStatus)2 Status (org.eclipse.core.runtime.Status)2 ILibraryProvider (org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider)2 LibraryInstallDelegate (org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate)2 IRuntime (org.eclipse.wst.common.project.facet.core.runtime.IRuntime)2 ModifyFacetedProjectWizard (org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard)2 MdwProgressMonitorDialog (com.centurylink.mdw.plugin.designer.dialogs.MdwProgressMonitorDialog)1 ContainerType (com.centurylink.mdw.plugin.project.model.ServerSettings.ContainerType)1