public class ProjectConfigurationManager extends java.lang.Object implements IProjectConfigurationManager, IMavenProjectChangedListener, org.eclipse.core.resources.IResourceChangeListener
Modifier and Type | Field and Description |
---|---|
(package private) static org.slf4j.Logger |
log |
(package private) IMaven |
maven |
(package private) IMavenConfiguration |
mavenConfiguration |
(package private) IMavenMarkerManager |
mavenMarkerManager |
(package private) MavenModelManager |
mavenModelManager |
(package private) ProjectRegistryManager |
projectManager |
Constructor and Description |
---|
ProjectConfigurationManager(IMaven maven,
ProjectRegistryManager projectManager,
MavenModelManager mavenModelManager,
IMavenMarkerManager mavenMarkerManager,
IMavenConfiguration mavenConfiguration) |
Modifier and Type | Method and Description |
---|---|
boolean |
addMavenBuilder(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.IProjectDescription description,
org.eclipse.core.runtime.IProgressMonitor monitor)
Adds the maven builder to the specified project.
|
private void |
addMavenNature(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.Set<MavenProjectInfo> |
collectProjects(java.util.Collection<MavenProjectInfo> projects) |
(package private) void |
configureNewMavenProjects(java.util.List<org.eclipse.core.resources.IProject> projects,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) org.eclipse.core.resources.IProject |
create(MavenProjectInfo projectInfo,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
createArchetypeProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
|
java.util.List<org.eclipse.core.resources.IProject> |
createArchetypeProjects(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor)
Creates project structure using Archetype and then imports created project(s)
|
java.util.List<org.eclipse.core.resources.IProject> |
createArchetypeProjects(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor)
Creates project structure using Archetype and then imports created project(s)
|
(package private) java.util.List<org.eclipse.core.resources.IProject> |
createArchetypeProjects0(org.eclipse.core.runtime.IPath location,
org.apache.maven.archetype.catalog.Archetype archetype,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String javaPackage,
java.util.Properties properties,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor) |
static void |
createFolder(org.eclipse.core.resources.IFolder folder,
boolean derived)
Helper method which creates a folder and, recursively, all its parent folders.
|
void |
createSimpleProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.model.Model model,
java.lang.String[] directories,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
createSimpleProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IPath location,
org.apache.maven.model.Model model,
java.lang.String[] directories,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor)
Creates simple Maven project
|
void |
disableMavenNature(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) void |
enableBasicMavenNature(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
enableMavenNature(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) java.util.List<org.eclipse.core.resources.IProject> |
findExistingProjectsToHideFrom()
Finds all existing Maven
IProject s to hide from, if "hide folders of nested projects" preference is on,
else, returns an empty list. |
private org.eclipse.core.resources.IProject |
findParentProject(org.apache.maven.model.Model model) |
private org.apache.maven.archetype.ArchetypeManager |
getArchetyper() |
private java.io.File |
getCanonicalPomFile(java.io.File projectDir) |
ILifecycleMapping |
getLifecycleMapping(IMavenProjectFacade projectFacade) |
ResolverConfiguration |
getResolverConfiguration(org.eclipse.core.resources.IProject project)
PROVISIONAL
|
org.eclipse.core.runtime.jobs.ISchedulingRule |
getRule() |
(package private) void |
hideNestedProjectsFromParents(java.util.List<org.eclipse.core.resources.IProject> projects,
java.util.List<org.eclipse.core.resources.IProject> existingProjects,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.List<IMavenProjectImportResult> |
importProjects(java.util.Collection<MavenProjectInfo> projectInfos,
ProjectImportConfiguration configuration,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.List<IMavenProjectImportResult> |
importProjects(java.util.Collection<MavenProjectInfo> projectInfos,
ProjectImportConfiguration configuration,
IProjectCreationListener listener,
org.eclipse.core.runtime.IProgressMonitor monitor) |
private boolean |
isMavenBuilderCommand(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.ICommand command) |
void |
mavenProjectChanged(MavenProjectChangedEvent[] events,
org.eclipse.core.runtime.IProgressMonitor monitor)
This method is called while holding workspace lock.
|
boolean |
removeMavenBuilder(org.eclipse.core.resources.IProject project,
org.eclipse.core.resources.IProjectDescription description,
org.eclipse.core.runtime.IProgressMonitor monitor)
Removes the maven builder from the specified project.
|
private org.apache.maven.artifact.Artifact |
resolveArchetype(org.apache.maven.archetype.catalog.Archetype a,
org.eclipse.core.runtime.IProgressMonitor monitor)
Apparently, Archetype#generateProjectFromArchetype 2.0-alpha-4 does not attempt to resolve archetype from
configured remote repositories.
|
void |
resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event) |
private void |
setHidden(org.eclipse.core.resources.IResource resource) |
boolean |
setResolverConfiguration(org.eclipse.core.resources.IProject project,
ResolverConfiguration configuration)
PROVISIONAL
|
void |
sortProjects(java.util.List<IMavenProjectFacade> facades,
org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
updateProjectConfiguration(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.IProgressMonitor monitor) |
java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> |
updateProjectConfiguration(MavenUpdateRequest request,
boolean updateConfiguration,
boolean cleanProjects,
boolean refreshFromLocal,
org.eclipse.core.runtime.IProgressMonitor monitor)
Returns project name to update status map.
|
java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> |
updateProjectConfiguration(MavenUpdateRequest request,
boolean updateConfiguration,
boolean cleanProjects,
org.eclipse.core.runtime.IProgressMonitor monitor)
Returns project name to update status map.
|
void |
updateProjectConfiguration(MavenUpdateRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
private void |
updateProjectConfiguration(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor) |
(package private) java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> |
updateProjectConfiguration0(java.util.Collection<org.eclipse.core.resources.IFile> pomFiles,
boolean updateConfiguration,
boolean cleanProjects,
boolean refreshFromLocal,
org.eclipse.core.runtime.IProgressMonitor monitor) |
static final org.slf4j.Logger log
final ProjectRegistryManager projectManager
final MavenModelManager mavenModelManager
final IMavenMarkerManager mavenMarkerManager
final IMaven maven
final IMavenConfiguration mavenConfiguration
public ProjectConfigurationManager(IMaven maven, ProjectRegistryManager projectManager, MavenModelManager mavenModelManager, IMavenMarkerManager mavenMarkerManager, IMavenConfiguration mavenConfiguration)
public java.util.List<IMavenProjectImportResult> importProjects(java.util.Collection<MavenProjectInfo> projectInfos, ProjectImportConfiguration configuration, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
importProjects
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public java.util.List<IMavenProjectImportResult> importProjects(java.util.Collection<MavenProjectInfo> projectInfos, ProjectImportConfiguration configuration, IProjectCreationListener listener, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
importProjects
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
private void setHidden(org.eclipse.core.resources.IResource resource)
void hideNestedProjectsFromParents(java.util.List<org.eclipse.core.resources.IProject> projects, java.util.List<org.eclipse.core.resources.IProject> existingProjects, org.eclipse.core.runtime.IProgressMonitor monitor)
void configureNewMavenProjects(java.util.List<org.eclipse.core.resources.IProject> projects, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
public void sortProjects(java.util.List<IMavenProjectFacade> facades, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
public void updateProjectConfiguration(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
updateProjectConfiguration
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public void updateProjectConfiguration(MavenUpdateRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
updateProjectConfiguration
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> updateProjectConfiguration(MavenUpdateRequest request, boolean updateConfiguration, boolean cleanProjects, org.eclipse.core.runtime.IProgressMonitor monitor)
public java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> updateProjectConfiguration(MavenUpdateRequest request, boolean updateConfiguration, boolean cleanProjects, boolean refreshFromLocal, org.eclipse.core.runtime.IProgressMonitor monitor)
java.util.Map<java.lang.String,org.eclipse.core.runtime.IStatus> updateProjectConfiguration0(java.util.Collection<org.eclipse.core.resources.IFile> pomFiles, boolean updateConfiguration, boolean cleanProjects, boolean refreshFromLocal, org.eclipse.core.runtime.IProgressMonitor monitor)
private void updateProjectConfiguration(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
public void enableMavenNature(org.eclipse.core.resources.IProject project, ResolverConfiguration configuration, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
enableMavenNature
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
void enableBasicMavenNature(org.eclipse.core.resources.IProject project, ResolverConfiguration configuration, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private void addMavenNature(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
public void disableMavenNature(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
disableMavenNature
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public boolean addMavenBuilder(org.eclipse.core.resources.IProject project, org.eclipse.core.resources.IProjectDescription description, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
IProjectConfigurationManager
addMavenBuilder
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public boolean removeMavenBuilder(org.eclipse.core.resources.IProject project, org.eclipse.core.resources.IProjectDescription description, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
IProjectConfigurationManager
removeMavenBuilder
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
private boolean isMavenBuilderCommand(org.eclipse.core.resources.IProject project, org.eclipse.core.resources.ICommand command)
public void createSimpleProject(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IPath location, org.apache.maven.model.Model model, java.lang.String[] directories, ProjectImportConfiguration configuration, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
createSimpleProject
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public void createSimpleProject(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IPath location, org.apache.maven.model.Model model, java.lang.String[] directories, ProjectImportConfiguration configuration, IProjectCreationListener listener, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
The following steps are executed in the given order:
createSimpleProject
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
private org.eclipse.core.resources.IProject findParentProject(org.apache.maven.model.Model model)
public static void createFolder(org.eclipse.core.resources.IFolder folder, boolean derived) throws org.eclipse.core.runtime.CoreException
folder
- The folder to create.derived
- true if folder should be marked as derivedorg.eclipse.core.runtime.CoreException
- if creating the given folder
or any of its parents fails.@Deprecated public void createArchetypeProject(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.IPath location, org.apache.maven.archetype.catalog.Archetype archetype, java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String javaPackage, java.util.Properties properties, ProjectImportConfiguration configuration, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
createArchetypeProjects(IPath, Archetype, String, String, String, String, Properties, ProjectImportConfiguration, IProgressMonitor)
createArchetypeProject
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public java.util.List<org.eclipse.core.resources.IProject> createArchetypeProjects(org.eclipse.core.runtime.IPath location, org.apache.maven.archetype.catalog.Archetype archetype, java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String javaPackage, java.util.Properties properties, ProjectImportConfiguration configuration, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
createArchetypeProjects
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public java.util.List<org.eclipse.core.resources.IProject> createArchetypeProjects(org.eclipse.core.runtime.IPath location, org.apache.maven.archetype.catalog.Archetype archetype, java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String javaPackage, java.util.Properties properties, ProjectImportConfiguration configuration, IProjectCreationListener listener, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
createArchetypeProjects
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
java.util.List<org.eclipse.core.resources.IProject> createArchetypeProjects0(org.eclipse.core.runtime.IPath location, org.apache.maven.archetype.catalog.Archetype archetype, java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String javaPackage, java.util.Properties properties, ProjectImportConfiguration configuration, IProjectCreationListener listener, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private org.apache.maven.artifact.Artifact resolveArchetype(org.apache.maven.archetype.catalog.Archetype a, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private org.apache.maven.archetype.ArchetypeManager getArchetyper()
public java.util.Set<MavenProjectInfo> collectProjects(java.util.Collection<MavenProjectInfo> projects)
collectProjects
in interface IProjectConfigurationManager
public org.eclipse.core.runtime.jobs.ISchedulingRule getRule()
getRule
in interface IProjectConfigurationManager
org.eclipse.core.resources.IProject create(MavenProjectInfo projectInfo, ProjectImportConfiguration configuration, IProjectCreationListener listener, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
private java.io.File getCanonicalPomFile(java.io.File projectDir) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreException
public void mavenProjectChanged(MavenProjectChangedEvent[] events, org.eclipse.core.runtime.IProgressMonitor monitor)
IMavenProjectChangedListener
mavenProjectChanged
in interface IMavenProjectChangedListener
public ILifecycleMapping getLifecycleMapping(IMavenProjectFacade projectFacade) throws org.eclipse.core.runtime.CoreException
getLifecycleMapping
in interface IProjectConfigurationManager
org.eclipse.core.runtime.CoreException
public void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event)
resourceChanged
in interface org.eclipse.core.resources.IResourceChangeListener
public ResolverConfiguration getResolverConfiguration(org.eclipse.core.resources.IProject project)
IProjectConfigurationManager
getResolverConfiguration
in interface IProjectConfigurationManager
public boolean setResolverConfiguration(org.eclipse.core.resources.IProject project, ResolverConfiguration configuration)
IProjectConfigurationManager
setResolverConfiguration
in interface IProjectConfigurationManager
java.util.List<org.eclipse.core.resources.IProject> findExistingProjectsToHideFrom()
IProject
s to hide from, if "hide folders of nested projects" preference is on,
else, returns an empty list.