[windup-dev] Fwd: [WindUp] Regular expression to detect filesystem paths
Ondrej Zizka
ozizka at redhat.com
Sun Apr 24 17:45:35 EDT 2016
Hi Roman,
1) Yes, the rule seems useful, thanks! You can create a PR, or shall I?
2) How about leaving out the <where>:
<filecontent filename="{*}.jsp" pattern="import=""" />
<where> is generally useful if you need to match a regex, or refer to
the value somewhere else in the rule.
Ondra
On 21.4.2016 09:40, Roman Martin Gil wrote:
> Thanks Ondrej, my latest rule version is working as I want.
>
> Now I create a new rule to identify page import definitions empty (<%@
> page import="" %>, .... this line in WAS is working
> successfully 🤔 but in EAP not (compile error).
>
> <rule id="jsp-empty-imports">
> <when>
> <filecontent filename="{*}.jsp" pattern="import={emptyString}" />
> </when>
> <perform>
> <hint message="Empty imports definition in a jsp" effort="1"
> severity="mandatory">
> <message>
> Empty import definitions in .jsp or .jspf
> files will fail in compilation time. It is needed to
> remove them.
> </message>
> </hint>
> </perform>
> <where param="emptyString">
> <matches pattern="("")" />
> </where>
> </rule>
>
>
> I think that rule is also important in other migrations so WindUp
> could introduce in its global rules. What do you think?
>
> Regards
>
> On Thu, Apr 21, 2016 at 4:58 AM, Ondrej Zizka <ozizka at redhat.com
> <mailto:ozizka at redhat.com>> wrote:
>
> For the cases like "Message: ", i'd suggest to use negative
> lookbehind:
>
> (?<!\w)[a-z]:[\\\\|/]
>
> Which basically says, make sure there's no word character prior to
> the potential drive letter.
>
> Ondra
>
>
>
> On 20.4.2016 16:02, Marek Novotny wrote:
>
> forgot to include Romain in CC
>
> On 20.4.2016 16:01, Brad Davis wrote:
>
> +1 -- it is not only important for Windows to Linux, but
> also for identifying file read / writes that need to be
> mounted for cloud deployments to things like OpenShift.
>
> Brad Davis
> Director of FSI Solutions, Red Hat Consulting
> Email: bdavis at redhat.com <mailto:bdavis at redhat.com> | c:
> 980.226.7865 <tel:980.226.7865> | http://www.redhat.com
>
> ----- Original Message -----
> From: "Marek Novotny" <mnovotny at redhat.com
> <mailto:mnovotny at redhat.com>>
> To: "Windup-dev List" <windup-dev at lists.jboss.org
> <mailto:windup-dev at lists.jboss.org>>
> Sent: Wednesday, April 20, 2016 9:49:31 AM
> Subject: [windup-dev] Fwd: [WindUp] Regular expression to
> detect filesystem paths
>
> adding windup-dev ml as this could be interested to Windup
> community.
>
>
> Romain,
>
> I would go with simplified pattern for every unique
> occurrence to more
> more general one.
>
> So try to use <or></or> and condition patterns in it.
> Something like the following:
>
> <rule id="filesystem-paths-properties">
> <when>
> <or>
> <filecontent
> filename="{*}.{extensions}"
> pattern="{filesystem}" />
> <filecontent
> filename="{*}.{extensions}"
> pattern="{netfilesystem}" />
> <filecontent
> filename="{*}.{extensions}"
> pattern="page import="{filesystem}" />
> </or>
> </when>
> <perform>
> <hint message="File system properties"
> effort="1"
> severity="mandatory">
> <message>
> TODO
> </message>
> </hint>
> </perform>
> <where param="extensions">
> <matches
> pattern="(java|properties|jsp|jpsf|tag|xml|txt)" />
> </where>
> <where param="filesystem">
> <matches pattern="(\S:[\\|/])" />
> </where>
> <where param="netfilesystem">
> <matches pattern="(\\\\ntfileserver\)" />
> </where>
> <where param="netfilesystem">
> <matches pattern="" />
> </where>
> </rule>
>
> -------- Forwarded Message --------
> Subject: [WindUp] Regular expression to detect
> filesystem paths
> Date: Wed, 20 Apr 2016 15:29:03 +0200
> From: Roman Martin Gil <rmarting at redhat.com
> <mailto:rmarting at redhat.com>>
> To: Marek Novotny <mnovotny at redhat.com
> <mailto:mnovotny at redhat.com>>
>
>
>
> Hi,
>
> I am very obfuscated to create a rule to identify some
> filesystem paths
> patterns. I am trying to detect when the code (.java,
> .properties) have
> the following entries:
>
> * "c:\\"
> * "e:\\"
> * "c:/"
> * "e:/"
> * "\\\\ntfileserver\"
> * "page import="""
>
>
> My first approach is similar to:
>
> <rule id="filesystem-paths-properties">
> <when>
> <filecontent filename="{*}.{extensions}"
> pattern="{filesystem}" />
> </when>
> <perform>
> <hint message="File system properties"
> effort="1"
> severity="mandatory">
> <message>
> TODO
> </message>
> </hint>
> </perform>
> <where param="extensions">
> <matches
> pattern="(java|properties|jsp|jpsf|tag|xml|txt)" />
> </where>
> <where param="filesystem">
> <matches pattern="((c|e):|[\\])" />
> </where>
> </rule>
>
> However I am detecting cases as "Message: " as a pattern.
> How could I
> create a rule to identify these cases?
>
> Thank you very much in advance
>
> PD: What is the better mail list to send it?
>
>
>
>
>
>
>
> --
>
> Saludos/Best regards
> ______________________________________________________________________
> *Jose Roman Martin Gil *
> /MW Senior Architect/ | +34 605 926 271 | roman.martin at redhat.com
> <mailto:roman.martin at redhat.com>
>
> //*Red Hat* Iberia
> C/ José Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain
> ______________________________________________________________________
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20160424/8be68ebd/attachment-0001.html
More information about the windup-dev
mailing list