Re: Filterchain's LineContains on LoadProperties is blocking the reading of properties

Jaikiran Pai <[email protected]>
Newsgroups gmane.comp.jakarta.ant.user
Message-ID <[email protected]>
Hi Anuerin,

Ifthere are more than one"contains" elements of the "linecontains", then 
as noted in the documentation[1]"and" will be used toevaluate whether 
the line contains those strings. So in the exampleyou pasted, the 
properties file will be looked for lines containing ws.user AND 
ws.password AND wl.user AND wl.password, which obviously won't be 
satisfied for the sample.properties.

[1] https://ant.apache.org/manual/Types/filterchain.html#linecontains

-Jaikiran
On 19/04/18 7:28 AM, Anuerin Diaz wrote:
> Hi,
>
>    I am trying to selectively load properties using the LoadProperties and
> FilterChain+LineContains tasks. However based on my test if the Filterchain
> starts to contain any "<contains/>" element then it will start discarding
> all contents of the property file being read. This was tested  using  ant
> 1.10.1 adn 1.10.3 in a Java 1.8 VM hosted in a Windows 10 64-bit machine.
>
>    Below is my build xml and sample.properties file. The initialize target
> has different variations that I tried to do to isolate the problem. What
> could be the problem in this instance? Thanks.
>
> -- build.xml  ---
>
> <project name="MyProject" basedir=".">
>    <target name="initialize">
>      <echo>Starting load...</echo>
>      <loadproperties srcFile="${basedir}/01_PropertyFiles/sample.properties">
>
>        <filterchain>
>          <linecontains>
>            <contains value="ws.user" />
>            <contains value="ws.password" />
>            <contains value="wl.user" />
>            <contains value="wl.password" />
>          </linecontains>
>        </filterchain>
>
>        <!--filterchain>
>
>        <filterreader classname="org.apache.tools.ant.filters.LineContains">
>          <param type="contains" value="user"/>
>          <param type="contains" value="password"/>
>        </filterreader>
>
>
>        </filterchain-->
>
>
>      </loadproperties>
>      <echo>${ws.user} - ${ws.password}</echo>
>      <echo>${wl.user} - ${wl.password}</echo>
>
>      <echo>${placebo.prop} should be printed as a literal. </echo>
>
>    </target>
>
> </project>
>
>
> -- end of build.xml  ---
>
> ---- sample.properties ----
> placebo.prop=dontprintme
> ws.user=dilbert
> ws.password=washere
> wl.user=felix
> wl.password=lantern
>
> ps.xser=dummy
> ---- end of sample.properties ----
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.