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

Anuerin Diaz <[email protected]>
Newsgroups gmane.comp.jakarta.ant.user
Message-ID <CAH5zQ53=qbi-f4b57nn3Mv-xtmkz21XQ1vdZUiAiqo4HnkcrvQ@mail.gmail.com>
Thanks Jaikiran. That is a very subtle behavior. I will try switching it
to LineContainsRegExp.  Is there another alternative of switching the
behavior to OR?

On Thu, Apr 19, 2018 at 12:21 PM, Jaikiran Pai <[email protected]>
wrote:

> 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_Propert
>> yFiles/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.an
>> t.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 ----
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
"Programming, an artform that fights back"

Anuerin G. Diaz
Registered Linux User #246176
http://ramfree17.net/capsule , when you absolutely have nothing else better
to do
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.