[189964] FacetedProject.modify() method validates action configs too early
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF
index a4950a0..d916e6a 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.common.project.facet.core/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
Bundle-Vendor: %providerName
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.wst.common.project.facet.core; singleton:=true
-Bundle-Version: 1.1.1.qualifier
+Bundle-Version: 1.1.2.qualifier
Bundle-ClassPath: .
Bundle-Localization: plugin
Export-Package: org.eclipse.wst.common.project.facet.core,
diff --git a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProject.java b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProject.java
index edc3da5..b616305 100644
--- a/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProject.java
+++ b/plugins/org.eclipse.wst.common.project.facet.core/src/org/eclipse/wst/common/project/facet/core/internal/FacetedProject.java
@@ -287,26 +287,20 @@
final List copy = new ArrayList( actions );
ProjectFacetsManager.sort( this.facets, copy );
- // Update and check the action configs.
+ // Execute the actions.
- for( int i = 0, n = copy.size(); i < n; i++ )
+ for( Iterator itr = copy.iterator(); itr.hasNext(); )
{
- Action action = (Action) copy.get( i );
- final IProjectFacetVersion fv = action.getProjectFacetVersion();
+ final Action action = (Action) itr.next();
+ final Action.Type type = action.getType();
+ final ProjectFacetVersion fv = (ProjectFacetVersion) action.getProjectFacetVersion();
+ final IActionDefinition def = fv.getActionDefinition( this.facets, type );
+
Object config = action.getConfig();
if( config == null )
{
- final IActionDefinition def
- = fv.getActionDefinition( this.facets, action.getType() );
-
config = def.createConfigObject( fv, this.project.getName() );
-
- if( config != null )
- {
- action = new Action( action.getType(), fv, config );
- copy.set( i, action );
- }
}
if( config != null )
@@ -336,23 +330,9 @@
}
}
}
- }
-
- // Execute the actions.
-
- for( Iterator itr = copy.iterator(); itr.hasNext(); )
- {
- final Action action = (Action) itr.next();
- final Action.Type type = action.getType();
- final ProjectFacetVersion fv
- = (ProjectFacetVersion) action.getProjectFacetVersion();
-
- final IActionDefinition def
- = fv.getActionDefinition( this.facets, type );
-
- callEventHandlers( fv, getPreEventHandlerType( type ),
- action.getConfig(), submon( monitor, 10 ) );
+ callEventHandlers( fv, getPreEventHandlerType( type ), config,
+ submon( monitor, 10 ) );
final IDelegate delegate
= ( (ActionDefinition) def ).getDelegate();
@@ -366,8 +346,7 @@
}
else
{
- callDelegate( fv, delegate, action.getConfig(), type,
- submon( monitor, 80 ) );
+ callDelegate( fv, delegate, config, type, submon( monitor, 80 ) );
}
synchronized( this.lock )
@@ -377,8 +356,8 @@
save();
- callEventHandlers( fv, getPostEventHandlerType( type ),
- action.getConfig(), submon( monitor, 10 ) );
+ callEventHandlers( fv, getPostEventHandlerType( type ), config,
+ submon( monitor, 10 ) );
}
}
finally