Hello,
I'm curious about whether people think the way these "functions" work is
a good design and if it should be kept this way or changed. I hacked it
together pretty quickly because it was a small, fun project, but I don't
want to start going down a road that will be painful to support in the
future.
To address an enhancement request, I added support for two "functions"
(kinda) on generic index resource labels:
http://bugzilla.opennms.org/show_bug.cgi?id=2467
One is of the form "${index:<start>-<end>}" which will select a portion
of an index for a generic resource. The <start> and <end> parts are
indexes both starting at zero and either can be omitted, but not both.
A shorthand for "<num>-<num>" where both numbers are the same is just to
specify the number. In the specific example above, an index is of the
form "0.21.109.80.9.66.4", where the first six octets are a MAC address,
and the last octet is an interface ID. So, ${index:6} would select the
interface ID (it's the seventh octet, but remember that things are
indexed by zero).
I thought about using the form "subIndex(<sub-symbol>, <start>, <end>),
but it started to get a little confusing about what I should do if I
wanted to omit one or more of the arguments (but I guess I could always
require a start and make the end optional). It might be good to
restructure it this way to make it like the next feature.
The other feature is of the form "hex(<sub-symbol>)", which assumes that
the evaluation of the sub-symbol is a dotted integer string, and it's
converted to a hex string, perfect for a MAC address. The sub-symbol is
any other symbol that is recognized as a generic index expression, such
as "index", the new form of "index:6", or whatever.
Together, they can be used with a resource label expression like this:
"MAC Address ${hex(index:0-5)} on interface ${index:6}"
... to create a resource label for the index "0.21.109.80.9.66.4" of
"MAC Address 00:15:6D:50:09:42 on interface 4".
What do you think?
- djg
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ
opennms-devel mailing list
To *unsubscribe* or change your subscription options, see the bottom of this
page:
https://lists.sourceforge.net/lists/listinfo/opennms-devel