ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles Scokart <gscok...@gmail.com>
Subject Re: svn commit: r808018 - in /ant/core/trunk: ./ docs/manual/CoreTypes/ src/main/org/apache/tools/ant/ src/main/org/apache/tools/ant/filters/ src/tests/antunit/filters/ src/tests/antunit/filters/expected/ src/tests/antunit/filters/input/
Date Wed, 26 Aug 2009 18:09:30 GMT
The French translation of unique is ... "unique".


Gilles Scokart


2009/8/26 Matt Benson <gudnabrsam@yahoo.com>

> Do we want to stick to English spellings ("unique") or are we okay with
> "uniq"--presumably correct in French?
>
> -Matt
>
> --- On Wed, 8/26/09, bodewig@apache.org <bodewig@apache.org> wrote:
>
> > From: bodewig@apache.org <bodewig@apache.org>
> > Subject: svn commit: r808018 - in /ant/core/trunk: ./
> docs/manual/CoreTypes/ src/main/org/apache/tools/ant/
> src/main/org/apache/tools/ant/filters/ src/tests/antunit/filters/
> src/tests/antunit/filters/expected/ src/tests/antunit/filters/input/
> > To: notifications@ant.apache.org
> > Date: Wednesday, August 26, 2009, 9:14 AM
> > Author: bodewig
> > Date: Wed Aug 26 14:14:12 2009
> > New Revision: 808018
> >
> > URL: http://svn.apache.org/viewvc?rev=808018&view=rev
> > Log:
> > Now that we have sort, throw in uniq as well
> >
> > Added:
> >
> >
> ant/core/trunk/src/main/org/apache/tools/ant/filters/UniqFilter.java   (with
> > props)
> >
> > ant/core/trunk/src/tests/antunit/filters/expected/sortuniq.txt   (with
> > props)
> >
> > ant/core/trunk/src/tests/antunit/filters/expected/uniq.txt   (with
> > props)
> >
> > ant/core/trunk/src/tests/antunit/filters/input/uniq.txt   (with
> > props)
> >
> > ant/core/trunk/src/tests/antunit/filters/uniq-test.xml   (with
> > props)
> > Modified:
> >     ant/core/trunk/WHATSNEW
> >
> > ant/core/trunk/docs/manual/CoreTypes/filterchain.html
> >
> > ant/core/trunk/src/main/org/apache/tools/ant/antlib.xml
> >
> > Modified: ant/core/trunk/WHATSNEW
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=808018&r1=808017&r2=808018&view=diff
> >
> ==============================================================================
> > --- ant/core/trunk/WHATSNEW (original)
> > +++ ant/core/trunk/WHATSNEW Wed Aug 26 14:14:12 2009
> > @@ -927,6 +927,9 @@
> >     added.
> >     Bugzilla Report 40504.
> >
> > + * A new filterreader <uniqfilter> that suppresses
> > lines that match
> > +   their ancestor line has been added.
> > +
> >  Changes from Ant 1.7.0 TO Ant 1.7.1
> >  =============================================
> >
> >
> > Modified:
> > ant/core/trunk/docs/manual/CoreTypes/filterchain.html
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTypes/filterchain.html?rev=808018&r1=808017&r2=808018&view=diff
> >
> ==============================================================================
> > --- ant/core/trunk/docs/manual/CoreTypes/filterchain.html
> > (original)
> > +++ ant/core/trunk/docs/manual/CoreTypes/filterchain.html
> > Wed Aug 26 14:14:12 2009
> > @@ -125,6 +125,7 @@
> >  <a
> > href="#tokenfilter">TokenFilter</a><br>
> >  <a
> > href="../CoreTasks/fixcrlf.html">FixCRLF</a><br>
> >  <a
> > href="#sortfilter">SortFilter</a><br>
> > +<a
> > href="#sortfilter">UniqFilter</a><br>
> >
> >  <h3><a
> > name="filterreader">FilterReader</a></h3>
> >
> > @@ -1494,97 +1495,21 @@
> >    </copy>
> >  </pre></blockquote>
> >
> > -<h3><a
> > name="sortfilter">SortFilter</a></h3>
> > +<h3><a
> > name="uniqfilter">UniqFilter</a></h3>
> >
> > -<p>This filter sorts lines lexicographically but you
> > can specifiy a
> > -  custom comparator as well.</p>
> > +<p>Suppresses all lines that match their ancestor
> > line.  It is most
> > +  useful if combined with a sort filter.</p>
> >
> > -<table cellSpacing=0 cellPadding=2 border=1>
> > -  <tr>
> > -    <td vAlign=top><b>Parameter
> > Type</b></td>
> > -    <td vAlign=top><b>Parameter
> > Value</b></td>
> > -    <td vAlign=top
> > align="center"><b>Required</b></td>
> > -  </tr>
> > -  <tr>
> > -    <td vAlign=top>reverse</td>
> > -    <td vAlign=top align="center">Whether
> > to reverse the sort order
> > -      (boolean).  Will be ignored if a
> > custom comparator has been
> > -      specified.</td>
> > -    <td vAlign=top
> > align="center">No</td>
> > -  </tr>
> > -  <tr>
> > -    <td vAlign=top>comparator</td>
> > -    <td vAlign=top
> > align="center">Classname of a class
> > -      implementing
> > <code>java.util.Comparator</code> an instance
> > of
> > -      which will be used when comparing
> > lines.</td>
> > -    <td vAlign=top
> > align="center">No</td>
> > -  </tr>
> > -</table>
> > -<p>
> >  <h4>Example:</h4>
> >
> > -This will sort the lines.
> > +This suppresses duplicate lines.
> >  <blockquote><pre>
> > -<filterreader
> > classname="org.apache.tools.ant.filters.SortFilter"/>
> > +<filterreader
> > classname="org.apache.tools.ant.filters.UniqFilter"/>
> >  </pre></blockquote>
> >
> >  Convenience method:
> >  <blockquote><pre>
> > -<sortfilter/>
> > -</pre></blockquote>
> > -
> > -This will reverse the sort order.
> > -
> > -<blockquote><pre>
> > -<filterreader
> > classname="org.apache.tools.ant.filters.SortFilter">
> > -  <param name="reverse"
> > value="true"/>
> > -</filterreader>
> > -</pre></blockquote>
> > -
> > -Convenience method:
> > -<blockquote><pre>
> > -<sortfilter reverse="true"/>
> > -</pre></blockquote>
> > -
> > -You can use your own comparator, the easiest way is by
> > using typedef
> > -and the convenience method which allows to specify the
> > comparator as a
> > -nested element:
> > -<blockquote><pre>
> > -public final class EvenFirstCmp implements Comparator {
> > -
> > -    public int compare(Object o1, Object o2) {
> > -        String s1 = ((String)
> > o1).substring(5).trim();
> > -        String s2 = ((String)
> > o2).substring(5).trim();
> > -        int n1 =
> > Integer.parseInt(s1);
> > -        int n2 =
> > Integer.parseInt(s2);
> > -        if (n1 % 2 == 0) {
> > -            if (n2 % 2 == 0)
> > {
> > -
> > return n1 - n2;
> > -            } else {
> > -
> > return -1;
> > -            }
> > -        } else {
> > -            if (n2 % 2 == 0)
> > {
> > -
> > return 1;
> > -            } else {
> > -
> > return n1 - n2;
> > -            }
> > -        }
> > -    }
> > -}
> > -</pre></blockquote>
> > -
> > -and used as
> > -
> > -<blockquote><pre>
> > -<typedef
> > classname="org.apache.tools.ant.filters.EvenFirstCmp"
> > -
> >    name="evenfirst"/>
> > -...
> > -  <filterchain>
> > -    <sortfilter>
> > -      <evenfirst/>
> > -    </sortfilter>
> > -  </filterchain>
> > +<uniqfilter/>
> >  </pre></blockquote>
> >
> >  </body></html>
> >
> > Modified:
> > ant/core/trunk/src/main/org/apache/tools/ant/antlib.xml
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/antlib.xml?rev=808018&r1=808017&r2=808018&view=diff
> >
> ==============================================================================
> > --- ant/core/trunk/src/main/org/apache/tools/ant/antlib.xml
> > (original)
> > +++ ant/core/trunk/src/main/org/apache/tools/ant/antlib.xml
> > Wed Aug 26 14:14:12 2009
> > @@ -138,5 +138,7 @@
> >    <!-- filters -->
> >    <componentdef name="sortfilter"
> > onerror="ignore"
> >
> >    classname="org.apache.tools.ant.filters.SortFilter"/>
> > +  <componentdef name="uniqfilter"
> > onerror="ignore"
> > +
> > classname="org.apache.tools.ant.filters.UniqFilter"/>
> >  </antlib>
> >
> >
> > Added:
> > ant/core/trunk/src/main/org/apache/tools/ant/filters/UniqFilter.java
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/filters/UniqFilter.java?rev=808018&view=auto
> >
> ==============================================================================
> > ---
> > ant/core/trunk/src/main/org/apache/tools/ant/filters/UniqFilter.java
> > (added)
> > +++
> > ant/core/trunk/src/main/org/apache/tools/ant/filters/UniqFilter.java
> > Wed Aug 26 14:14:12 2009
> > @@ -0,0 +1,69 @@
> > +/*
> > + *  Licensed to the Apache Software Foundation (ASF)
> > under one or more
> > + *  contributor license agreements.  See the
> > NOTICE file distributed with
> > + *  this work for additional information regarding
> > copyright ownership.
> > + *  The ASF licenses this file to You 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.filters;
> > +
> > +import java.io.IOException;
> > +import java.io.Reader;
> > +
> > +/**
> > + * Like the Unix uniq(1) command, only returns lines that
> > are
> > + * different from their ancestor line.
> > + *
> > + * <p>This filter is probably most useful if used
> > together with a sortfilter.</p>
> > + *
> > + * @since Ant 1.8.0
> > + */
> > +public class UniqFilter extends BaseFilterReader
> > implements ChainableReader {
> > +
> > +    private String lastLine = null;
> > +    private String currentLine = null;
> > +
> > +    public UniqFilter() { }
> > +
> > +    public UniqFilter(Reader rdr) {
> > +        super(rdr);
> > +    }
> > +
> > +    public int read() throws IOException {
> > +        int ch = -1;
> > +        if (currentLine != null) {
> > +            ch =
> > currentLine.charAt(0);
> > +            if
> > (currentLine.length() == 1) {
> > +
> > currentLine = null;
> > +            } else {
> > +
> > currentLine = currentLine.substring(1);
> > +            }
> > +        } else {
> > +            do {
> > +
> > currentLine = readLine();
> > +            } while
> > (lastLine != null && currentLine != null
> > +
> >      &&
> > lastLine.equals(currentLine));
> > +            lastLine =
> > currentLine;
> > +            if (currentLine
> > != null) {
> > +
> > return read();
> > +            }
> > +        }
> > +        return ch;
> > +    }
> > +
> > +    public Reader chain(final Reader rdr) {
> > +        UniqFilter newFilter = new
> > UniqFilter(rdr);
> > +
> > newFilter.setInitialized(true);
> > +        return newFilter;
> > +    }
> > +}
> >
> > Propchange:
> > ant/core/trunk/src/main/org/apache/tools/ant/filters/UniqFilter.java
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> > ant/core/trunk/src/tests/antunit/filters/expected/sortuniq.txt
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/filters/expected/sortuniq.txt?rev=808018&view=auto
> >
> ==============================================================================
> > ---
> > ant/core/trunk/src/tests/antunit/filters/expected/sortuniq.txt
> > (added)
> > +++
> > ant/core/trunk/src/tests/antunit/filters/expected/sortuniq.txt
> > Wed Aug 26 14:14:12 2009
> > @@ -0,0 +1,4 @@
> > +A
> > +AA
> > +B
> > +C
> >
> > Propchange:
> > ant/core/trunk/src/tests/antunit/filters/expected/sortuniq.txt
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> > ant/core/trunk/src/tests/antunit/filters/expected/uniq.txt
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/filters/expected/uniq.txt?rev=808018&view=auto
> >
> ==============================================================================
> > ---
> > ant/core/trunk/src/tests/antunit/filters/expected/uniq.txt
> > (added)
> > +++
> > ant/core/trunk/src/tests/antunit/filters/expected/uniq.txt
> > Wed Aug 26 14:14:12 2009
> > @@ -0,0 +1,5 @@
> > +A
> > +AA
> > +B
> > +C
> > +B
> >
> > Propchange:
> > ant/core/trunk/src/tests/antunit/filters/expected/uniq.txt
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> > ant/core/trunk/src/tests/antunit/filters/input/uniq.txt
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/filters/input/uniq.txt?rev=808018&view=auto
> >
> ==============================================================================
> > --- ant/core/trunk/src/tests/antunit/filters/input/uniq.txt
> > (added)
> > +++ ant/core/trunk/src/tests/antunit/filters/input/uniq.txt
> > Wed Aug 26 14:14:12 2009
> > @@ -0,0 +1,6 @@
> > +A
> > +AA
> > +AA
> > +B
> > +C
> > +B
> >
> > Propchange:
> > ant/core/trunk/src/tests/antunit/filters/input/uniq.txt
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> > Added:
> > ant/core/trunk/src/tests/antunit/filters/uniq-test.xml
> > URL:
> http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/filters/uniq-test.xml?rev=808018&view=auto
> >
> ==============================================================================
> > --- ant/core/trunk/src/tests/antunit/filters/uniq-test.xml
> > (added)
> > +++ ant/core/trunk/src/tests/antunit/filters/uniq-test.xml
> > Wed Aug 26 14:14:12 2009
> > @@ -0,0 +1,49 @@
> > +<?xml version="1.0"?>
> > +<!--
> > +   Licensed to the Apache Software
> > Foundation (ASF) under one or more
> > +   contributor license agreements.
> > See the NOTICE file distributed with
> > +   this work for additional information
> > regarding copyright ownership.
> > +   The ASF licenses this file to You 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.
> > +  -->
> > +<project default="antunit"
> > xmlns:au="antlib:org.apache.ant.antunit">
> > +  <import file="../antunit-base.xml" />
> > +
> > +  <target name="setUp">
> > +    <mkdir dir="${output}"/>
> > +  </target>
> > +
> > +  <target name="testUniqFilter"
> > depends="setUp">
> > +    <copy file="input/uniq.txt"
> > +
> > tofile="${output}/uniq.txt">
> > +      <filterchain>
> > +        <uniqfilter/>
> > +      </filterchain>
> > +    </copy>
> > +    <au:assertFilesMatch
> > +
> >    expected="expected/uniq.txt"
> > +
> >    actual="${output}/uniq.txt"/>
> > +  </target>
> > +
> > +  <target name="testSortUniq" depends="setUp">
> > +    <copy file="input/uniq.txt"
> > +
> > tofile="${output}/uniq.txt">
> > +      <filterchain>
> > +        <sortfilter/>
> > +        <uniqfilter/>
> > +      </filterchain>
> > +    </copy>
> > +    <au:assertFilesMatch
> > +
> >    expected="expected/sortuniq.txt"
> > +
> >    actual="${output}/uniq.txt"/>
> > +  </target>
> > +</project>
> >
> > Propchange:
> > ant/core/trunk/src/tests/antunit/filters/uniq-test.xml
> >
> ------------------------------------------------------------------------------
> >     svn:eol-style = native
> >
> >
> >
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message