use of org.eclipse.wst.common.project.facet.core.IProjectFacet in project liferay-ide by liferay.
the class SDKProjectsImportDataModelProvider 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();
facetedProject.setSelectedPreset(IPluginFacetConstants.LIFERAY_PORTLET_PRESET);
Set<IProjectFacet> fixedFacets = new HashSet<>();
fixedFacets.add(ProjectFacetsManager.getProjectFacet(IPluginFacetConstants.LIFERAY_EXT_FACET_ID));
facetedProject.setFixedProjectFacets(Collections.unmodifiableSet(fixedFacets));
ProjectUtil.setDefaultRuntime(getDataModel());
}
use of org.eclipse.wst.common.project.facet.core.IProjectFacet in project liferay-ide by liferay.
the class PluginFacetProjectCreationDataModelProvider method setupPortletFramework.
protected void setupPortletFramework(IPortletFramework portletFramework) {
IPortletFramework[] portletFrameworks = ProjectCore.getPortletFrameworks();
for (IPortletFramework framework : portletFrameworks) {
if (!framework.equals(portletFramework)) {
IProjectFacet[] facets = framework.getFacets();
for (IProjectFacet facet : facets) {
removeFacet(getFacetedProjectWorkingCopy(), facet);
}
}
}
portletFramework.configureNewProject(getDataModel(), getFacetedProjectWorkingCopy());
}
use of org.eclipse.wst.common.project.facet.core.IProjectFacet 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);
}
}
}
}
use of org.eclipse.wst.common.project.facet.core.IProjectFacet 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));
}
}
use of org.eclipse.wst.common.project.facet.core.IProjectFacet in project webtools.servertools by eclipse.
the class RuntimeClasspathProvider method getClasspathEntries.
public List getClasspathEntries(IProjectFacetVersion fv) {
IProjectFacet pf = fv.getProjectFacet();
if (pf == null)
return null;
if (pf.equals(WEB_FACET) || pf.equals(EJB_FACET) || pf.equals(EAR_FACET) || pf.equals(UTILITY_FACET) || pf.equals(CONNECTOR_FACET) || pf.equals(APP_CLIENT_FACET) || pf.equals(WEBFRAGMENT_FACET)) {
String runtimeTypeId = rc.getProperty("type-id");
String runtimeId = rc.getProperty("id");
if (runtimeTypeId == null || runtimeId == null)
return null;
RuntimeClasspathProviderWrapper rcpw = JavaServerPlugin.findRuntimeClasspathProviderBySupport(runtimeTypeId);
if (rcpw != null) {
IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER);
path = path.append(rcpw.getId()).append(runtimeId);
IClasspathEntry cpentry = JavaCore.newContainerEntry(path);
return Collections.singletonList(cpentry);
}
}
return null;
}
Aggregations