There are some other things that are available with later releases that I would like to take advantage of, like the $foreach.count. That appears to be a 1.6 and later capablility.
Craig K. Dalrymple Information Services Consultant (Contractor) FMI/Unisys Inc. working for USDA/OCIO/ITS/IOD/NOB FMI(BPA # AG-3144-B-12-0003) 6501 Beacon Drive Kansas City, MO 64113 816-926-8819 (W) -----Original Message----- From: Nathan Bubna [mailto:nbu...@gmail.com] Sent: Tuesday, October 02, 2012 10:47 AM To: Velocity Users List Subject: Re: Having trouble doing math with values retrieved from external data source Glad it worked for you. If you're not doing new dev and this is your only issue, i'd stick with 1.4, despite its inferiority. Never upgrade just for the sake of upgrading. On Tue, Oct 2, 2012 at 8:19 AM, Dalrymple, Craig - OCIO-ITS, Kansas City, MO <craig.dalrym...@kcc.usda.gov> wrote: > Thanks, this might actually work, however my test device was removed, so now > I have other issues. However, this is basically what I was trying to do, but > you came up with a different approach. > > At last check, Cisco has no plans to go any higher than 1.4. It's not a > product that accounts for much (any?) revenue, so why pursue it? I am > considering doing the upgrade myself, but I need to stand up another test box > to make sure I don't break anything else -- the software appears pretty > fickle to changes. > > Craig K. Dalrymple > Information Services Consultant (Contractor) > FMI/Unisys Inc. working for > USDA/OCIO/ITS/IOD/NOB > FMI(BPA # AG-3144-B-12-0003) > 6501 Beacon Drive > Kansas City, MO 64113 > 816-926-8819 (W) > > -----Original Message----- > From: Nathan Bubna [mailto:nbu...@gmail.com] > Sent: Monday, October 01, 2012 6:18 PM > To: Velocity Users List > Subject: Re: Having trouble doing math with values retrieved from external > data source > > Velocity 1.4, eh? I suppose upgrading to 1.7 isn't an option? > > With 1.4, you have a hack: > > #set( $Integer = 1 ) > #set( $wanCEIP = $Integer.parseInt($octetFour) + 1) > > or you can google for VelocityTools' MathTool, drop an instance in the > context and use that to handle the parsing and/or addition in a > cleaner way: > > #set( $wanCEIP = $math.add($octetFour, 1) ) > > On Mon, Oct 1, 2012 at 3:01 PM, Dalrymple, Craig - OCIO-ITS, Kansas > City, MO <craig.dalrym...@kcc.usda.gov> wrote: >> First, I apologize if this question has come up before, but after doing some >> lengthy searching, I was unable to find anything related to the issue I am >> having. >> >> I have included the segment of the template that is causing my headache >> below. Let me explain a little what I am doing, and give a background on >> why. >> >> The client I work for has a product from Cisco (Cisco Configuration Engine) >> for configuring large numbers of network devices. We are trying to make >> this rather cumbersome tool a bit easier to use. Basically what it does is >> keep a database of information about each object that can be included into >> templates, which are then deployed to those objects to keep configurations >> close to a uniform standard. This tool supports two template formats, the >> legacy and proprietary .cfgtpl, and .vm which is based on the Velocity >> Template Engine. Their legacy format allows for some simplification with >> #include directives and very limited conditional checking -- >> #if (a == b) >> Do this >> #else >> Do something else >> #endif >> >> By limited I mean you can check for equality, and thats all you can check. >> Oh, and you cannot have nested condition tests. Obviously, Velocity doesn't >> have this limitation, even on the older version that Cisco has deployed >> (1.4). >> >> One of the simplifications we would like to include is to handle IP >> addressing for these network elements. Currently this is input by users, >> and may or may not be accurate. Since the clients IP addresses conform to a >> pretty strict standard, the only information we really need is the subnet, >> and the subnet mask. With this, we can compute the IP addresses. >> >> Below is the segment that has me going even more prematurely bald. I am >> trying to break an IP4 address into its four parts given the subnet >> information, then assign the CER IP address (my side of the MPLS connection) >> by adding 1 to this value, and the PER (carrier side) by adding 2. I have >> managed to break the address up into a list, and can access the elements >> directly. However, when I try to manipulate the values it becomes really >> obvious that I am trying to do addition to strings and not integers. >> >> #set ( $wanSubnet = $!{dsobj.getValue('WAN-Subnet')} ) ## retrieves data >> from database >> ! breakupIP($wanSubnet) ## this is a Cisco IOS comment line. It is the only >> way I can really debug my code, and is included so I can verify that I am >> getting data. >> #breakupIP($wanSubnet) ## macro to break apart the IP address. >> ! third octet is $addressParts.get(2) ##same as above. >> #set ( $octetFour = $addressParts.get(3) ) ## I don't want to change the >> original value. >> ! octetFour is $octetFour ## yet another display >> #set ( $wanCEIP = $octetFour + 1) ## the math >> #set ( $wanPEIP = $octetFour + 2 ) >> ! wanCEIP = $wanCEIP ## display the results. >> ! wanPEIP = $wanPEIP >> >> The output generated is below. Realize this is part of a much larger >> template, and I pretty much have to work within the limitations of the tool. >> >> ! >> ! breakupIP(192.168.100.100) >> ! third octet is 100 >> ! octetFour is 100 >> ! wanCEIP = $wanCEIP >> ! wanPEIP = $wanPEIP >> ! >> >> Any help would be appreciated; I am just learning how to do this. >> >> >> Craig K. Dalrymple >> Information Services Consultant (Contractor) >> FMI/Unisys Inc. working for >> USDA/OCIO/ITS/IOD/NOB >> FMI(BPA # AG-3144-B-12-0003) >> 6501 Beacon Drive >> Kansas City, MO 64113 >> 816-926-8819 (W) >> >> >> >> >> >> This electronic message contains information generated by the USDA solely >> for the intended recipients. Any unauthorized interception of this message >> or the use or disclosure of the information it contains may violate the law >> and subject the violator to civil or criminal penalties. If you believe you >> have received this message in error, please notify the sender and delete the >> email immediately. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org >> For additional commands, e-mail: user-h...@velocity.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org > For additional commands, e-mail: user-h...@velocity.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org > For additional commands, e-mail: user-h...@velocity.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org For additional commands, e-mail: user-h...@velocity.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org For additional commands, e-mail: user-h...@velocity.apache.org