You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/06/02 22:07:27 UTC

svn commit: r781144 - in /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model: DefaultModelBuilder.java DefaultModelBuildingRequest.java ModelBuildingRequest.java

Author: bentmann
Date: Tue Jun  2 20:07:26 2009
New Revision: 781144

URL: http://svn.apache.org/viewvc?rev=781144&view=rev
Log:
o Decoupled model building request from profile activation context

Modified:
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuildingRequest.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingRequest.java

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java?rev=781144&r1=781143&r2=781144&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Tue Jun  2 20:07:26 2009
@@ -37,6 +37,8 @@
 import org.apache.maven.model.path.ModelPathTranslator;
 import org.apache.maven.model.plugin.LifecycleBindingsInjector;
 import org.apache.maven.model.plugin.PluginConfigurationExpander;
+import org.apache.maven.model.profile.DefaultProfileActivationContext;
+import org.apache.maven.model.profile.ProfileActivationContext;
 import org.apache.maven.model.profile.ProfileActivationException;
 import org.apache.maven.model.profile.ProfileInjector;
 import org.apache.maven.model.profile.ProfileSelector;
@@ -109,7 +111,9 @@
     {
         DefaultModelBuildingResult result = new DefaultModelBuildingResult();
 
-        List<Profile> activeExternalProfiles = getActiveExternalProfiles( request );
+        ProfileActivationContext profileActivationContext = getProfileActivationContext( request );
+
+        List<Profile> activeExternalProfiles = getActiveExternalProfiles( request, profileActivationContext );
 
         Model model = readModel( modelSource, request );
         model.setPomFile( pomFile );
@@ -127,7 +131,7 @@
 
             modelNormalizer.mergeDuplicates( resultModel, request );
 
-            List<Profile> activeProjectProfiles = getActiveProjectProfiles( rawModel, request );
+            List<Profile> activeProjectProfiles = getActiveProjectProfiles( rawModel, profileActivationContext );
 
             List<Profile> activeProfiles = activeProjectProfiles;
             if ( current == model )
@@ -181,6 +185,15 @@
         return result;
     }
 
+    private ProfileActivationContext getProfileActivationContext( ModelBuildingRequest request )
+    {
+        ProfileActivationContext context = new DefaultProfileActivationContext();
+        context.setActiveProfileIds( request.getActiveProfileIds() );
+        context.setInactiveProfileIds( request.getInactiveProfileIds() );
+        context.setExecutionProperties( request.getExecutionProperties() );
+        return context;
+    }
+
     private Model readModel( ModelSource modelSource, ModelBuildingRequest request )
         throws ModelBuildingException
     {
@@ -228,12 +241,12 @@
         }
     }
 
-    private List<Profile> getActiveExternalProfiles( ModelBuildingRequest request )
+    private List<Profile> getActiveExternalProfiles( ModelBuildingRequest request, ProfileActivationContext context )
         throws ModelBuildingException
     {
         try
         {
-            return profileSelector.getActiveProfiles( request.getProfiles(), request.getProfileActivationContext() );
+            return profileSelector.getActiveProfiles( request.getProfiles(), context );
         }
         catch ( ProfileActivationException e )
         {
@@ -242,12 +255,12 @@
         }
     }
 
-    private List<Profile> getActiveProjectProfiles( Model model, ModelBuildingRequest request )
+    private List<Profile> getActiveProjectProfiles( Model model, ProfileActivationContext context )
         throws ModelBuildingException
     {
         try
         {
-            return profileSelector.getActiveProfiles( model.getProfiles(), request.getProfileActivationContext() );
+            return profileSelector.getActiveProfiles( model.getProfiles(), context );
         }
         catch ( ProfileActivationException e )
         {

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuildingRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuildingRequest.java?rev=781144&r1=781143&r2=781144&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuildingRequest.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuildingRequest.java Tue Jun  2 20:07:26 2009
@@ -23,9 +23,6 @@
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.maven.model.profile.DefaultProfileActivationContext;
-import org.apache.maven.model.profile.ProfileActivationContext;
-
 /**
  * Collects settings that control building of effective models.
  * 
@@ -41,12 +38,18 @@
 
     private List<Profile> profiles;
 
-    private ProfileActivationContext profileActivationContext;
+    private List<String> activeProfileIds;
+
+    private List<String> inactiveProfileIds;
+
+    private Properties executionProperties;
 
     public DefaultModelBuildingRequest()
     {
         profiles = new ArrayList<Profile>();
-        profileActivationContext = new DefaultProfileActivationContext();
+        activeProfileIds = new ArrayList<String>();
+        inactiveProfileIds = new ArrayList<String>();
+        executionProperties = new Properties();
     }
 
     public boolean istLenientValidation()
@@ -91,51 +94,49 @@
 
     public List<String> getActiveProfileIds()
     {
-        return profileActivationContext.getActiveProfileIds();
+        return activeProfileIds;
     }
 
-    public ModelBuildingRequest setActiveProfileIds( List<String> activeProfileIds )
+    public DefaultModelBuildingRequest setActiveProfileIds( List<String> activeProfileIds )
     {
-        profileActivationContext.setActiveProfileIds( activeProfileIds );
+        this.activeProfileIds.clear();
+        if ( activeProfileIds != null )
+        {
+            this.activeProfileIds.addAll( activeProfileIds );
+        }
+
         return this;
     }
 
     public List<String> getInactiveProfileIds()
     {
-        return profileActivationContext.getInactiveProfileIds();
+        return inactiveProfileIds;
     }
 
-    public ModelBuildingRequest setInactiveProfileIds( List<String> inactiveProfileIds )
+    public DefaultModelBuildingRequest setInactiveProfileIds( List<String> inactiveProfileIds )
     {
-        profileActivationContext.setInactiveProfileIds( inactiveProfileIds );
-        return this;
-    }
-
-    public Properties getExecutionProperties()
-    {
-        return profileActivationContext.getExecutionProperties();
-    }
+        this.inactiveProfileIds.clear();
+        if ( inactiveProfileIds != null )
+        {
+            this.inactiveProfileIds.addAll( inactiveProfileIds );
+        }
 
-    public ModelBuildingRequest setExecutionProperties( Properties executionProperties )
-    {
-        profileActivationContext.setExecutionProperties( executionProperties );
         return this;
     }
 
-    public ProfileActivationContext getProfileActivationContext()
+    public Properties getExecutionProperties()
     {
-        return profileActivationContext;
+        return executionProperties;
     }
 
-    public DefaultModelBuildingRequest setProfileActivationContext( ProfileActivationContext profileActivationContext )
+    public DefaultModelBuildingRequest setExecutionProperties( Properties executionProperties )
     {
-        if ( profileActivationContext == null )
+        this.executionProperties.clear();
+        if ( executionProperties != null )
         {
-            throw new IllegalArgumentException( "no profile activation context specified" );
+            this.executionProperties.putAll( executionProperties );
         }
 
-        this.profileActivationContext = profileActivationContext;
-
         return this;
     }
 

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingRequest.java?rev=781144&r1=781143&r2=781144&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingRequest.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/ModelBuildingRequest.java Tue Jun  2 20:07:26 2009
@@ -22,8 +22,6 @@
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.maven.model.profile.ProfileActivationContext;
-
 /**
  * Collects settings that control the building of effective models.
  * 
@@ -129,12 +127,4 @@
      */
     ModelBuildingRequest setExecutionProperties( Properties executionProperties );
 
-    /**
-     * Gets the profile activation context for this request. The activation context is basically a view on a subset of
-     * settings from this request, manipulations to the request are reflected by the activation context and vice versa.
-     * 
-     * @return The profile activation context for this request, never {@code null}.
-     */
-    ProfileActivationContext getProfileActivationContext();
-
 }