15:04:16 <colindixon> #startmeeting jQuery/XPath for MD-SAL intern
15:04:16 <odl_meetbot> Meeting started Tue Aug 12 15:04:16 2014 UTC.  The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html.
15:04:16 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
15:04:16 <odl_meetbot> The meeting name has been set to 'jquery_xpath_for_md_sal_intern'
15:04:21 <colindixon> #topic status update
15:04:44 <colindixon> #link https://github.com/neel1438/Opendaylight/ current code is here
15:04:46 * colindixon looks
15:10:25 <devinavery> Neel. I am not able to run your test with my eclipse at the moment (build issue on my side). Can you paste the output for your test?
15:10:37 <colindixon> so, as per this: https://meetings.opendaylight.org/opendaylight-intern/2014/jquery_xpath_for_md_sal_intern/opendaylight-intern-jquery_xpath_for_md_sal_intern.2014-08-11-13.30.html
15:11:11 <colindixon> you really want to have it be a NormalizedNode in NodeBuilderElement, not a DataContainerNode
15:11:33 <colindixon> as the leaf nodes won’t be DataContainerNodes, I don’t think
15:11:50 <Neel_B> okay let me changethat
15:12:21 <colindixon> #link https://gist.github.com/nilok/cbdb4fe7890d7fc48d00 devinavery, this should be the output of the test
15:12:36 <colindixon> I had to convert all the tabs to spaces to get it to build with mvn, but it works onow
15:14:33 <devinavery> My build error is related to the bad controller source Ihave pulled in at present. :)
15:14:37 <devinavery> Thanks though
15:14:53 <colindixon> devinavery: I figured something like that
15:15:49 <Neel_B> so we have nothing printing
15:16:20 <colindixon> we just have this:
15:16:37 <colindixon> sorry, likes 11-18 of that output
15:16:55 <devinavery> Yup. Thanks for the output
15:17:23 <devinavery> So. I think the first thing we should do is write an xpath that we expect to be valid, so we can then write our code to match it.
15:18:01 <devinavery> for example, I would probably expect this xpath ( "/toaster" ) to return the root node. Just like "/a" return the "A" node in our previous testing.
15:19:10 <devinavery> Actually. I take that back. I think because we are starting with "toaster" as the root the "/" should return the toaster node, and then we should be able to just do "toasterManufacturer"
15:19:22 <devinavery> "/toasterManufacturer" for the xpath**
15:19:53 <Neel_B> children are not handled
15:20:01 <Neel_B> i have to write the children part
15:20:02 <Neel_B> :\
15:20:13 <Neel_B> i put all the children null for now
15:20:30 <colindixon> it seems as though we’re getting the empty string for the current XPath query
15:20:50 <devinavery> Ok. So that is the next step. Again, we should write the unit test to be failing so that we can write code until it works.
15:21:06 <devinavery> This is the XML that we return when we go to restconf:
15:21:07 <devinavery> <toaster xmlns="http://netconfcentral.org/ns/toaster">
15:21:07 <devinavery> <toasterManufacturer>Opendaylight</toasterManufacturer>
15:21:07 <devinavery> <toasterModelNumber>Model 1 - Binding Aware</toasterModelNumber>
15:21:07 <devinavery> <toasterStatus>up</toasterStatus>
15:21:07 <devinavery> </toaster>
15:22:09 <devinavery> so ideally these are all valid xpaths: (Assuming "toaster" is the root) then:  / = toaster , /toasterManufacturer, /toasterModelNumber, /toasterStatus
15:22:30 <devinavery> We will want to change the logical "root" so /toaster works, but that is for another day.
15:23:41 <colindixon> Neel_B: does that make sense
15:23:42 <colindixon> ?
15:24:00 <devinavery> So Neel, I think the next steps are we want to modify the pax-exam test to do the same type of testing we did previously. That is, parse XML (i.e. the toaster XML above that I got out of rest conf), get the toaster node, and then execute our xpaths against it until they pass
15:24:00 <colindixon> also, would it be useful to get on a hangout for 10-15 minutes to try to work through these things?
15:24:24 <Neel_B> i guess
15:24:24 <devinavery> THEN, swap out the XML with our new implementation and code until it passes.
15:24:48 <devinavery> Happy to jump on the hangout if desired
15:25:50 <Neel_B> okay let me get the xml done
15:26:21 <colindixon> #action Neel_B to get XPath working against the above XML (which was taken from RESTCONF) which will give us the right answers for our queries
15:27:12 <devinavery> Neel - do you remember what we did for the XML (/A/B/ etc)? We want to do the exact same type of testing here, except this time instead of hardcoding the nodes, we are now going to use our new NormalizedNode wrappers etc that you are creating
15:27:14 <colindixon> #info this should literally be copying and pasting from the previous code that we had
15:29:00 <Neel_B> yeah
15:29:04 <Neel_B> i am doing it
15:34:59 <devinavery> Ok great. Hopefully this is straight forward.
15:35:42 <Neel_B> i am copying functions and correcting according to current code
15:35:49 <devinavery> So Neel - when you get your test working can you publish it to your git hub and send an e-mail. I would ultimately like to do this BEFORE you start working on the next steps just so I can keep up. :)
15:36:00 <Neel_B> okay sure
15:36:12 <Neel_B> will not take more than 15-20 mins max
15:37:40 <devinavery> Please just upload the code changes, send the e-mail and then keep going. I will review when I can but this way I can respond via e-mail if anything looks funny before tomorrow AM, giving you more time to adjust. :)
15:55:31 <Neel_B> colindixon: devinavery
15:55:36 <Neel_B> you around ?
15:55:54 <devinavery> Not really - I am about to head into a meeting where I am chair, so I won't be able to respond.
15:56:32 <Neel_B> okay
15:56:57 <devinavery> If you are blocked I will be available in 1 hour
15:57:23 <colindixon> if you can send an e-mail with what the output/issue you’re having is, we can try to reply
15:58:27 <Neel_B> i will ping you ppl back after an hor
15:58:37 <Neel_B> i am trying to write tests for real xml
15:59:02 <Neel_B> i will update the code and ping you guys in hour or so
16:55:29 <devinavery> Neel - need to grab some lunch. Back in 10 to 15 minutes at most
16:58:24 <devinavery> Neel_B: I am back
16:59:04 <Neel_B> how do i handle sibling
16:59:05 <Neel_B> ?
16:59:26 <devinavery> Let me look at your code (did you upload anything new yet?)
16:59:56 <Neel_B> yeah
17:00:20 <Neel_B> real xml tests are working
17:00:38 <Neel_B> the normalizednode parts are incomplete
17:05:30 <devinavery> I think you will have to call a setter method to set it
17:06:03 <devinavery> Only the parent will know what the next sibling is going to be
17:14:40 <devinavery> I need to step away again for a bit
17:29:01 <devinavery> #info ending meeting. Will send e-mail to follow up
17:29:05 <devinavery> #endmeeting