Author: olamy
Date: Mon Feb 18 14:19:43 2008
New Revision: 628894

URL: http://svn.apache.org/viewvc?rev=628894&view=rev
Log:
update documentation
merge duplicate code


Modified:
    
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
    
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
    
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
    
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
    maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt

Modified: 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
--- 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
 (original)
+++ 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
 Mon Feb 18 14:19:43 2008
@@ -87,69 +87,20 @@
         filterProperties.putAll( System.getProperties() );
 
         // Project properties
-        filterProperties.putAll( mavenProject.getProperties() == null ? 
Collections.EMPTY_MAP : mavenProject.getProperties() );
+        filterProperties.putAll( mavenProject.getProperties() == null ? 
Collections.EMPTY_MAP : mavenProject
+            .getProperties() );
 
         // Take a copy of filterProperties to ensure that evaluated 
filterTokens are not propagated
         // to subsequent filter files. NB this replicates current behaviour 
and seems to make sense.
         final Properties baseProps = new Properties();
         baseProps.putAll( filterProperties );
 
-        if ( filters != null )
-        {
-            for ( Iterator i = filters.iterator(); i.hasNext(); )
-            {
-                String filterfile = (String) i.next();
-                try
-                {
-                    Properties properties = PropertyUtils.loadPropertyFile( 
new File( filterfile ), baseProps );
-                    filterProperties.putAll( properties );
-                }
-                catch ( IOException e )
-                {
-                    throw new MavenFilteringException( "Error loading property 
file '" + filterfile + "'", e );
-                }
-            }
-        }
-        
-        List buildFilters = mavenProject.getFilters();
-        if ( buildFilters != null )
-        {
-            for ( Iterator iterator = buildFilters.iterator(); 
iterator.hasNext(); )
-            {
-                String filterFile = (String) iterator.next();
-                try
-                {
-
-                    Properties properties = PropertyUtils.loadPropertyFile( 
new File( filterFile ), baseProps );
-                    filterProperties.putAll( properties );
-                }
-                catch ( IOException e )
-                {
-                    throw new MavenFilteringException( "Error loading property 
file '" + filterFile + "'", e );
-                }
-            }
-        }
+        loadProperties( filterProperties, filters, baseProps );
 
-        buildFilters = mavenProject.getBuild().getFilters();
-        if ( buildFilters != null )
-        {
-            for ( Iterator iterator = buildFilters.iterator(); 
iterator.hasNext(); )
-            {
-                String filterFile = (String) iterator.next();
-                try
-                {
+        loadProperties( filterProperties, mavenProject.getFilters(), baseProps 
);
 
-                    Properties properties = PropertyUtils.loadPropertyFile( 
new File( filterFile ), baseProps );
-                    filterProperties.putAll( properties );
-                }
-                catch ( IOException e )
-                {
-                    throw new MavenFilteringException( "Error loading property 
file '" + filterFile + "'", e );
-                }
-            }
-        }
+        loadProperties( filterProperties, 
mavenProject.getBuild().getFilters(), baseProps );
 
-       
         List defaultFilterWrappers = new ArrayList( 3 );
 
         // support ${token}
@@ -181,10 +132,32 @@
                 return new InterpolationFilterReader( reader, 
reflectionProperties, "${", "}" );
             }
         };
-        
+
         defaultFilterWrappers.add( third );
 
         return defaultFilterWrappers;
+    }
+
+    private void loadProperties( Properties filterProperties, List 
/*String*/propertiesFilePaths, Properties baseProps )
+        throws MavenFilteringException
+    {
+        if ( propertiesFilePaths != null )
+        {
+            for ( Iterator iterator = propertiesFilePaths.iterator(); 
iterator.hasNext(); )
+            {
+                String filterFile = (String) iterator.next();
+                try
+                {
+                    // TODO new File should be new 
File(mavenProject.getBasedir(), filterfile ) ? 
+                    Properties properties = PropertyUtils.loadPropertyFile( 
new File( filterFile ), baseProps );
+                    filterProperties.putAll( properties );
+                }
+                catch ( IOException e )
+                {
+                    throw new MavenFilteringException( "Error loading property 
file '" + filterFile + "'", e );
+                }
+            }
+        }
     }
 
 }

Modified: 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
--- 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
 (original)
+++ 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
 Mon Feb 18 14:19:43 2008
@@ -20,7 +20,6 @@
  */
 
 import java.io.File;
-import java.io.IOException;
 import java.util.List;
 
 import org.apache.maven.project.MavenProject;

Modified: 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
--- 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
 (original)
+++ 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesFiltering.java
 Mon Feb 18 14:19:43 2008
@@ -35,8 +35,8 @@
     /**
      * @param resources [EMAIL PROTECTED] List} of [EMAIL PROTECTED] 
org.apache.maven.model.Resource}
      * @param outputDirectory parent destination directory
-     * @param mavenProject
-     * @param encoding 
+     * @param mavenProject the maven project
+     * @param encoding encoding to use for writing files
      * @param fileFilters [EMAIL PROTECTED] List} of String which are path to 
a Property file 
      * @param nonFilteredFileExtensions [EMAIL PROTECTED] List} of String for 
non filtered file extensions
      * @throws MavenFilteringException
@@ -48,7 +48,7 @@
     /**
      * @param resources [EMAIL PROTECTED] List} of [EMAIL PROTECTED] 
org.apache.maven.model.Resource}
      * @param outputDirectory parent destination directory
-     * @param encoding
+     * @param encoding encoding to use for writing files
      * @param filterWrappers [EMAIL PROTECTED] List} of FileUtils.FilterWrapper
      * @param resourcesBaseDirectory baseDirectory of resources
      * @param nonFilteredFileExtensions [EMAIL PROTECTED] List} of String for 
non filtered file extensions
@@ -62,7 +62,13 @@
      * return the List of the non filtered extensions (jpg,jpeg,gif,bmp,png)
      * @return [EMAIL PROTECTED] List} of [EMAIL PROTECTED] String}
      */
-    public List getDefaultNonFilteredFileExtensions();
+    List getDefaultNonFilteredFileExtensions();
     
+    /**
+     * @param fileName the file name
+     * @param userNonFilteredFileExtensions an extra list of file extensions 
+     * @return true if filtering can be apply to the file (means 
extensions.lowerCase is in the 
+     *         default List or in the user defined extension List)
+     */
     boolean filteredFileExtension( String fileName, List 
userNonFilteredFileExtensions );
 }

Modified: 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
--- 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
 (original)
+++ 
maven/sandbox/trunk/shared/maven-filtering/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
 Mon Feb 18 14:19:43 2008
@@ -106,6 +106,7 @@
      * @param fail wheter to throw an exception when the file cannot be loaded 
or to return null
      * @param useSystemProps wheter to incorporate System.getProperties 
settings into the returned Properties object.
      * @return the loaded and fully resolved Properties object
+     * @throws IOException if profile does not exist, or cannot be read.
      */
     public static Properties loadPropertyFile( File propfile, boolean fail, 
boolean useSystemProps )
         throws IOException
@@ -149,6 +150,9 @@
      * the value of a property contains a key), and will
      * not loop endlessly on a pair like
      * test = ${test}.
+     * @param k
+     * @param p
+     * @return 
      */
     private static String getPropertyValue( String k, Properties p )
     {

Modified: maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt?rev=628894&r1=628893&r2=628894&view=diff
==============================================================================
--- maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt (original)
+++ maven/sandbox/trunk/shared/maven-filtering/src/site/apt/index.apt Mon Feb 
18 14:19:43 2008
@@ -25,14 +25,17 @@
 
 Maven Filtering Component
 
-  This Plexus components has been build with the filtering process coming from 
the maven-resources-plugin.
+  This Plexus components has been build with the filtering process/code coming 
from the maven-resources-plugin.
   
   The goal is to provide a common way for all plugins which needs to filtering 
resources. 
   
 * Component MavenResourcesFiltering
 
   This component will apply filtering on a List of 
org.apache.maven.model.Resource. 
-  The method without the filterWrappers parameter will interpolate the files 
using the default FileUtils.FilterWrapper. 
+  
+  The method without the filterWrappers parameter will interpolate the files 
using the default List of FileUtils.FilterWrapper (see above). 
+  
+  The component will not filtering some predefined file extensions 
(jpg,jpeg,gif,bmp,png). Note : you can easily add extra file extensions.
 
 * Component MavenFileFilter
 
@@ -47,6 +50,17 @@
     
     []
     
-    <<NOTE>> : The sentence "values from SystemProps, project.properties, 
filters, project.filters and project.build.filters" 
-    means pairs of key/value will be loaded/overriding with this order. The 
value for key java.version can be overriding 
-    with a property in the maven project (yes crazy but possible).
\ No newline at end of file
+    The values (Properties object) used for interpolation are loaded with the 
following order :
+    
+    * System Properties
+    
+    * List of properties ( the method has a parameter which accept a List of 
String -> path properties files )
+    
+    * pom.filters
+    
+    * pom.build.filters
+    
+    []
+    
+    <<NOTE>> : As it's a Properties object, last defined key/value pair wins . 
+    The value for key java.version can be overriding with a property in the 
maven project (yes crazy but possible).
\ No newline at end of file


Reply via email to