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