On 20-Apr-16 15:35, Gerald Wiltse wrote:
I re-arranged it as follows. Does this seem preferable from a
performance perspective?.There will be about an 8:1 ratio... (8
matches of this[tmpKey] = v to every 1 exception which hits the catch
which needs to be parsed.
try {
Indeed it is powerful. This is for an integration for monitoring and
management platform designed expressly for this purpose. You can already
enter that code into a form field which lets you enter any arbitrary
script. THis is just for a form field which is for properties.
Gerald R. Wiltse
jerryw
I re-arranged it as follows. Does this seem preferable from a performance
perspective?.There will be about an 8:1 ratio... (8 matches of this[tmpKey]
= v to every 1 exception which hits the catch which needs to be parsed.
try {
this[tmpKey] = v
The code will be executed about once every 10 seconds at a maximum, so the
load is not extremely high.
Gerald R. Wiltse
jerrywil...@gmail.com
On Wed, Apr 20, 2016 at 3:32 AM, Guillaume Laforge
wrote:
> Eval.x(v) should just work as well.
>
> Regarding resources / performance, it means spinning
If those strings come from the outside, then using eval on them is a no-no.
Consider what happens if your input string is "${System.exit(1)}" or
"${Shell.run('rm -rf /')}". Only use eval on sanitized input and only if
there is no simpler way.
On 20 April 2016 at 09:32, Guillaume Laforge wrote:
>
Eval.x(v) should just work as well.
Regarding resources / performance, it means spinning the parser and
compiler, so it's not for free. Doing your own string parsing logic might
be more efficient.
Depends on how frequently you have to do that.
Le 20 avr. 2016 07:57, "Gerald Wiltse" a écrit :
> W
Scratch the part about the side effect... i forgot to remove that line
after adding the exception handling.
Gerald R. Wiltse
jerrywil...@gmail.com
On Wed, Apr 20, 2016 at 2:31 AM, Gerald Wiltse
wrote:
> For posterity, here's the working form of very short loop for accepting a
> bunch of values
For posterity, here's the working form of very short loop for accepting a
bunch of values in a map which are all in string form. The goal is to try
to parsing them to their groovy types, and then assign them to the
variables on the current object if those variables exist. This loop will
be in the
Also, thank you so very much for the response!
Gerald R. Wiltse
jerrywil...@gmail.com
On Wed, Apr 20, 2016 at 1:57 AM, Gerald Wiltse
wrote:
> Wow, i just wrote that exact code basically... and started responding to
> your email, but there were various drawbacks to this approach as I don't
> wa
Wow, i just wrote that exact code basically... and started responding to
your email, but there were various drawbacks to this approach as I don't
want to have to define handling of every property by name... Then... it
hit me...
def v = '1..10'
assert new GroovyShell().parse(v).run() == [1,2,3,4,5
If you know it's a range when parsing that string, you can do this, with
the toInteger() method:
def rangeString = "123..455"
def (String min, String max) = rangeString.tokenize("..")
def range = min.toInteger()..max.toInteger()
On Wed, Apr 20, 2016 at 7:26 AM, Gerald Wiltse
wrote:
> I
Here is my current loop btw, it just bombs on the range, says its a string.
taskProps.each { k, v ->
String tmpKey = k.replaceAll('system.',
'').toLowerCase().replaceAll('\\.','')
if (this.hasProperty(tmpKey)) {
this."$tmpKey" = Eval.x(v, "return x"
I don't see how that works in my case, maybe i'm missing something.
I will clarify:
I define a variable in web to represent the range: 14502..14520
The web converts this to a string, and passes it into my code.
My code then has to receive this string, and then construct a list from it.
I cou
Hi,
You can just replace the bounds with variables.
def a = 1
def b = 10
def r = a..b
Isn't that what you're looking for?
Guillaume
Le mercredi 20 avril 2016, Gerald Wiltse a écrit :
> I can find no examples of different ways to create a range. There's a
> plethora of examples on what you
I can find no examples of different ways to create a range. There's a
plethora of examples on what you can do when you start by creating a range
like so: "1..10"
But, how does one create a range when the min and max values are stored in
variables? There's no range constructor. I see that it's
15 matches
Mail list logo