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 toremove 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@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@redhat.com | c: 980.226.7865 | http://www.redhat.com
----- Original Message -----
From: "Marek Novotny" <mnovotny@redhat.com>
To: "Windup-dev List" <windup-dev@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@redhat.com>
To: Marek Novotny <mnovotny@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@redhat.com
Red Hat Iberia
C/ José Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain
______________________________________________________________________