You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/11/14 20:18:09 UTC
svn commit: r714109 - in /maven/components/trunk:
maven-project/src/main/java/org/apache/maven/project/builder/
maven-project/src/main/java/org/apache/maven/project/builder/impl/
maven-shared-model/src/main/java/org/apache/maven/shared/model/
Author: sisbell
Date: Fri Nov 14 11:18:09 2008
New Revision: 714109
URL: http://svn.apache.org/viewvc?rev=714109&view=rev
Log:
Added in Project Event Listeners. Still need to hook up a plexus component and a model container factory for configuring listeners.
Added:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectEventListeners.java
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelEventListener.java
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=714109&r1=714108&r2=714109&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java Fri Nov 14 11:18:09 2008
@@ -115,9 +115,9 @@
}
/**
- * @see ModelTransformer#transformToDomainModel(java.util.List)
+ * @see ModelTransformer#transformToDomainModel(java.util.List, java.util.List)
*/
- public DomainModel transformToDomainModel( List<ModelProperty> properties )
+ public DomainModel transformToDomainModel( List<ModelProperty> properties, List<ModelEventListener> eventListeners)
throws IOException
{
if ( properties == null )
@@ -125,6 +125,15 @@
throw new IllegalArgumentException( "properties: null" );
}
+ if( eventListeners == null )
+ {
+ eventListeners = new ArrayList<ModelEventListener>();
+ }
+ else
+ {
+ eventListeners = new ArrayList<ModelEventListener>(eventListeners);
+ }
+
List<ModelProperty> props = new ArrayList<ModelProperty>( properties );
//dependency management
@@ -226,6 +235,16 @@
}
props.removeAll( removeProperties );
+ for(ModelEventListener listener : eventListeners)
+ {
+ ModelDataSource ds = new DefaultModelDataSource();
+ ds.init( props, listener.getModelContainerFactories() );
+ for(String uri : listener.getUris() )
+ {
+ listener.fire(ds.queryFor(uri));
+ }
+ }
+
String xml = null;
try
{
Added: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectEventListeners.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectEventListeners.java?rev=714109&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectEventListeners.java (added)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectEventListeners.java Fri Nov 14 11:18:09 2008
@@ -0,0 +1,4 @@
+package org.apache.maven.project.builder;
+
+public class ProjectEventListeners {
+}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=714109&r1=714108&r2=714109&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Fri Nov 14 11:18:09 2008
@@ -177,7 +177,8 @@
transformer,
transformer,
importModels,
- properties ) );
+ properties,
+ null) );
try
{
MavenProject mavenProject = new MavenProject( transformedDomainModel.getModel(), artifactFactory,
Added: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelEventListener.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelEventListener.java?rev=714109&view=auto
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelEventListener.java (added)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelEventListener.java Fri Nov 14 11:18:09 2008
@@ -0,0 +1,13 @@
+package org.apache.maven.shared.model;
+
+import java.util.List;
+import java.util.Collection;
+
+public interface ModelEventListener {
+
+ public void fire(List<ModelContainer> modelContainers);
+
+ List<String> getUris();
+
+ Collection<ModelContainerFactory> getModelContainerFactories();
+}
Modified: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java?rev=714109&r1=714108&r2=714109&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java (original)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java Fri Nov 14 11:18:09 2008
@@ -39,7 +39,7 @@
* @param properties list of model properties to transform into domain model. List may not be null.
* @return domain model
*/
- DomainModel transformToDomainModel( List<ModelProperty> properties )
+ DomainModel transformToDomainModel( List<ModelProperty> properties, List<ModelEventListener> eventListeners)
throws IOException;
/**
Modified: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java?rev=714109&r1=714108&r2=714109&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java (original)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java Fri Nov 14 11:18:09 2008
@@ -213,12 +213,24 @@
* @param interpolatorProperties properties to use during interpolation. @return processed domain model
* @throws IOException if there was a problem with the transform
*/
- public DomainModel transform(List<DomainModel> domainModels, ModelTransformer fromModelTransformer,
+ public DomainModel transform(List<DomainModel> domainModels,
+ ModelTransformer fromModelTransformer,
ModelTransformer toModelTransformer,
- Collection<ImportModel> importModels, List<InterpolatorProperty> interpolatorProperties)
+ Collection<ImportModel> importModels,
+ List<InterpolatorProperty> interpolatorProperties,
+ List<ModelEventListener> eventListeners)
throws IOException
{
+ if( eventListeners == null )
+ {
+ eventListeners = new ArrayList<ModelEventListener>();
+ }
+ else
+ {
+ eventListeners = new ArrayList<ModelEventListener>(eventListeners);
+ }
+
List<ModelProperty> transformedProperties =
importModelProperties(importModels, fromModelTransformer.transformToModelProperties( domainModels));
@@ -290,7 +302,7 @@
try
{
- DomainModel domainModel = toModelTransformer.transformToDomainModel( mps );
+ DomainModel domainModel = toModelTransformer.transformToDomainModel( mps, eventListeners );
domainModel.setEventHistory(modelDataSource.getEventHistory());
return domainModel;
}
@@ -316,7 +328,7 @@
ModelTransformer toModelTransformer )
throws IOException
{
- return this.transform( domainModels, fromModelTransformer, toModelTransformer, null, systemInterpolatorProperties );
+ return this.transform( domainModels, fromModelTransformer, toModelTransformer, null, systemInterpolatorProperties, null );
}
private static List<ModelProperty> importModelProperties(Collection<ImportModel> importModels,