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