13:09:46 <regXboi> #startmeeting query_meeting 13:09:46 <odl_meetbot> Meeting started Tue Jul 8 13:09:46 2014 UTC. The chair is regXboi. Information about MeetBot at http://ci.openstack.org/meetbot.html. 13:09:46 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:09:46 <odl_meetbot> The meeting name has been set to 'query_meeting' 13:10:06 <regXboi> ok... latest code is in the usual place? 13:10:13 <Neel_B> eyah 13:10:19 <Neel_B> yeah* 13:10:41 <regXboi> #link https://github.com/neel1438/Opendaylight latest code 13:11:23 <regXboi> let me take a look at what is new 13:11:28 <Neel_B> as colin an devin suggested i implemented NodeBuilderElement and NodeBuilderText classes 13:12:24 <Neel_B> presently i got stuck at null pointer exception 13:12:40 <regXboi> where is that being thrown? 13:14:19 <regXboi> #info NodeBuilderElement and NodeBuilderText classes have been implemented 13:14:28 <regXboi> #info the issue now is a null pointer exception 13:14:38 <Neel_B> Simple Xpath Tests 13:14:54 <Neel_B> in TestXpath.java 13:15:10 <Neel_B> sorry testcases.java 13:15:44 <Neel_B> SelfTest and BasicXpath Tests are working 13:16:39 <regXboi> #info null pointer execption in testcases.java path (followup) 13:16:48 <regXboi> ok... let me get this to compile and run and I'll look 13:21:56 <regXboi> well... this is ... embarrassing 13:24:50 <Neel_B> hmm 13:25:12 <regXboi> my eclipse decided to have a little lie-down 13:25:18 <Neel_B> i am also working on the error since 2 -3 hrs 13:25:59 <regXboi> understood 13:28:55 <Neel_B> i will continue working on it 13:29:07 <Neel_B> it seems people are gonna take some time 13:29:33 <Neel_B> so how about we decide the next meeting time throught mails 13:31:21 <regXboi> that works for me... 13:31:41 <regXboi> let's start with a proposal to do this same time tomorrow 13:31:45 <regXboi> and adjust from there 13:32:07 <regXboi> can you paste.bin the traceback on the null pointer error? 13:34:48 <Neel_B> http://pastebin.com/LMrd8MAZ 13:34:57 <Neel_B> error trace 13:36:26 <Neel_B> This error occurs when child nodes are involved all the operations on are working great 13:38:08 <regXboi> so if we comment out that line, does the next line run correctly? 13:38:14 <regXboi> that line = line 141? 13:42:39 <Neel_B> all the test are failing except one 13:42:50 <Neel_B> evaluate("//c1", "Some Value"); 13:42:58 <regXboi> hmm 13:43:21 <Neel_B> i am really not sure why that one is working 13:44:18 <regXboi> when my disk gets done thrashing, I'll look at what I have 13:44:55 <regXboi> now that is (again) embarrasing 13:45:37 * regXboi watches eclipse crash and burn 13:45:59 <Neel_B> okay 13:46:26 <regXboi> I did see that the simple tests were failing 13:46:47 <regXboi> I think what I'd do is dump the values being passed to xpath.evaluate and see what's going on 13:47:05 <regXboi> my initial thought is there is something wrong with the root node 13:47:24 <Neel_B> okay i will check the connections 13:47:35 <Neel_B> first child last child 13:48:05 <Neel_B> and all also have to change the Builder classes 13:48:13 <Neel_B> with lesser arguements 13:48:23 <Neel_B> i will work on it now 13:51:52 <regXboi> so if I read this correctly, you are using NodeBuilderElement as the root node for the test, correct? 13:52:40 <regXboi> #link http://pastebin.com/LMrd8MAZ is the link for the error trace 13:52:56 <regXboi> #info appears to be an issue within NodeBuilderElement being passed in 13:54:26 <Neel_B> nodeBuilder.a is element node 13:54:43 <Neel_B> nodeBuilder.root is document node 13:55:17 <Neel_B> it is same as the parsed document ,verified it 13:55:45 <regXboi> ah 13:58:42 <regXboi> so... I'm not entirely sure, but should rootTestNode.getFirstChild().getNodeName() be returning "#text"? 14:01:57 <regXboi> ok, so getLastChild() is returning the b node 14:03:53 <regXboi> #action Neel_B to keep looking at this 14:04:13 <regXboi> #action regXboi to find and consult with devinavery 14:04:27 <regXboi> #action next meeting to be scheduled via email 14:05:46 <Neel_B> yeah 14:05:56 <Neel_B> it is returning properly 14:06:16 <Neel_B> a has children text of a and b 14:06:37 <regXboi> yeah, I figured that out 14:06:39 <Neel_B> similarly b has children textof b c1 and c2 14:08:56 <regXboi> so, which rootTestNode are we using? 14:09:09 <regXboi> setupHardcodedNode or setupRealXml? 14:10:16 <Neel_B> real xml is from doc 14:10:24 <Neel_B> hardcoded is what we wrote 14:10:34 <Neel_B> real xml passes all unit test 14:10:39 <regXboi> got it - I found what was going on 14:12:44 <regXboi> hey colindixon - we've been going for a while now 14:12:55 <regXboi> the meeting notes are live 14:13:00 <regXboi> #chair colindixon 14:13:00 <odl_meetbot> Current chairs: colindixon regXboi 14:13:30 <regXboi> I think the problem is in the nodebuilderelement 14:13:46 <regXboi> because the structure from the real XML is different from what we have in the nodebuilderelement 14:14:02 <regXboi> for example, while the real XML passes the xpath tests 14:14:13 <regXboi> it fails on this convoluted statement: 14:14:22 <regXboi> System.out.println("rootTestNode "+rootTestNode.getLastChild().getFirstChild().getNextSibling().getNodeName()); 14:14:29 <regXboi> with a null pointer exception 14:14:39 <regXboi> the nodebuilderelement passes that println 14:14:52 <regXboi> but does not pass the xpath.evaluate 14:15:30 <regXboi> so... what I would suggest is walking through the node tree that comes from the document and seeing exactly what is missing from our hard coded version 14:15:37 <regXboi> it's painful, but that's what I think is needed 14:15:56 <colindixon> ok 14:16:00 <colindixon> I’m now actually here 14:18:22 <regXboi> #info regXboi suggests a deeper comparison of NodeBuilderElement output and the Node structure that comes from reading the real XML 14:18:37 <regXboi> and that's all I've got for now 14:18:46 <regXboi> Neel_B, am I making sense? 14:18:51 <Neel_B> yeah 14:18:54 <Neel_B> i am following 14:19:08 <regXboi> ok... 14:19:26 <colindixon> so, why does a have text children and element children? 14:20:07 <colindixon> the only way I can see that being the case is if you did something like this <a>text1<b>text3</b>text2</a> 14:20:09 <colindixon> or something 14:20:13 <regXboi> a node always has a #text child node 14:20:20 <regXboi> even if the #text child node is empty 14:20:54 <Neel_B> yeah 14:21:07 <Neel_B> as regXboi says 14:21:39 <Neel_B> mean while i simplified the Node Builder classes 14:21:39 <colindixon> I saee 14:21:54 <Neel_B> updating the code 14:22:03 <regXboi> ok 14:22:07 <regXboi> so here's one thing I see 14:22:16 <regXboi> in the real XML, a has 3 children 14:22:23 <regXboi> #text, b, #text 14:22:36 <colindixon> so, here’s my next question 14:22:38 <regXboi> in the NodeBuilderElement, it only has 2 children 14:22:40 <colindixon> we’re getting NPEs 14:22:40 <regXboi> #text, b 14:22:45 <regXboi> I think that's the problem 14:22:56 <regXboi> we are forgetting the text node for AFTER the child node 14:23:11 <colindixon> which means *we* are giving them a Null value somewhere 14:23:17 <regXboi> actually, we are getting unknown Xpath errors - it's a little worse 14:23:24 <colindixon> can we never return null? 14:23:26 <colindixon> regXboi: really 14:23:30 <colindixon> I’m seeing NPEs 14:23:33 <regXboi> yes... look atthe paste bin 14:23:44 <regXboi> and I'm seeing that unknown Xpath error as well 14:23:59 * colindixon looks 14:24:11 <regXboi> but I think I know the cause 14:24:17 <colindixon> …Caused by: java.lang.NullPointerException 14:24:33 <regXboi> the problem is IN the Node tree 14:24:42 <regXboi> we aren't passing an explicity NP 14:24:54 <regXboi> but we have a malformed node structure 14:25:02 <colindixon> well, we’re returning it somewhere 14:25:03 <colindixon> yes 14:25:09 <colindixon> so, here’s a quick thought for how to debug that? 14:25:14 <regXboi> see my above comment about 3 children versus 2 children 14:25:17 <colindixon> yeah 14:25:25 <regXboi> that's the nub (I think) 14:25:33 <colindixon> Neel_B: did that make sense 14:25:35 <Neel_B> yeah i guess thats a mistake i have to look at 14:26:05 <Neel_B> sorry i didn't check it properly 14:26:15 <colindixon> Neel_B: it’s probably worth wrirting a quick function to plot out the whole realXML document structure 14:26:24 <regXboi> Neel_B: don't worry, that's a subtle point I would have missed 14:26:42 <colindixon> something like recursiveprint(String s, Node n) { 14:26:57 <colindixon> for(child c : children ) { 14:27:08 <colindixon> or hold on 14:27:10 <regXboi> colindixon: I have to run to another meeting - can I endmeeting and mail out the minutes or do you want to continue scribing? 14:27:19 <colindixon> go ahead and endmeeting 14:27:24 <regXboi> #endmeeting