peterreilly 2004/12/17 05:39:45 Modified: src/main/org/apache/tools/ant/types defaults.properties FilterChain.java Added: src/main/org/apache/tools/ant/types/mappers FilterMapper.java Log: New mapper - <filtermapper>. This is a filterchain applied to the source file names of the filenamemapper#mapFileName function. Revision Changes Path 1.1 ant/src/main/org/apache/tools/ant/types/mappers/FilterMapper.java Index: FilterMapper.java =================================================================== /* * Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package org.apache.tools.ant.types.mappers; import java.io.StringReader; import java.io.Reader; import java.util.Vector; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.UnsupportedAttributeException; import org.apache.tools.ant.filters.util.ChainReaderHelper; import org.apache.tools.ant.types.FilterChain; import org.apache.tools.ant.util.FileNameMapper; import org.apache.tools.ant.util.FileUtils; /** * This is a filenamemaper based on a FilterChain. */ public class FilterMapper extends FilterChain implements FileNameMapper { /** * From attribute not supported. * @param from a string * @throws BuildException always */ public void setFrom(String from) { throw new UnsupportedAttributeException( "filtermapper does'nt support the \"from\" attribute.", "from"); } /** * From attribute not supported. * @param to a string * @throws BuildException always */ public void setTo(String to) { throw new UnsupportedAttributeException( "filtermapper does'nt support the \"to\" attribute.", "to"); } /** * Return the result of the filters on the sourcefilename. * @param sourceFileName the filename to map * @return a one-element array of converted filenames, or null if * the filterchain returns an empty string. */ public String[] mapFileName(String sourceFileName) { try { Reader stringReader = new StringReader(sourceFileName); ChainReaderHelper helper = new ChainReaderHelper(); helper.setBufferSize(8192); helper.setPrimaryReader(stringReader); helper.setProject(getProject()); Vector filterChains = new Vector(); filterChains.add(this); helper.setFilterChains(filterChains); String result = FileUtils.readFully(helper.getAssembledReader()); if (result.length() == 0) { return null; } else { return new String[] {result}; } } catch (BuildException ex) { throw ex; } catch (Exception ex) { throw new BuildException(ex); } } } 1.33 +1 -0 ant/src/main/org/apache/tools/ant/types/defaults.properties Index: defaults.properties =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/defaults.properties,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- defaults.properties 2 Dec 2004 18:07:44 -0000 1.32 +++ defaults.properties 17 Dec 2004 13:39:45 -0000 1.33 @@ -18,6 +18,7 @@ unpackagemapper=org.apache.tools.ant.util.UnPackageNameMapper compositemapper=org.apache.tools.ant.util.CompositeMapper chainedmapper=org.apache.tools.ant.util.ChainedMapper +filtermapper=org.apache.tools.ant.types.mappers.FilterMapper path=org.apache.tools.ant.types.Path patternset=org.apache.tools.ant.types.PatternSet 1.18 +1 -1 ant/src/main/org/apache/tools/ant/types/FilterChain.java Index: FilterChain.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/FilterChain.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- FilterChain.java 9 Mar 2004 16:48:41 -0000 1.17 +++ FilterChain.java 17 Dec 2004 13:39:45 -0000 1.18 @@ -40,7 +40,7 @@ * FilterChain may contain a chained set of filter readers. * */ -public final class FilterChain extends DataType +public class FilterChain extends DataType implements Cloneable { private Vector filterReaders = new Vector();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]