15:00:23 #startmeeting jQuery/XPath for MD-SAL intern 15:00:23 Meeting started Wed Jul 2 15:00:23 2014 UTC. The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html. 15:00:23 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:23 The meeting name has been set to 'jquery_xpath_for_md_sal_intern' 15:00:28 #topic status update 15:00:54 #link https://github.com/neel1438/Opendaylight/ Neel_B has updated his repo 15:01:10 * regXboi looks 15:02:06 it looks like code to create the XML 15:02:25 how does this work against the the existing code 15:03:09 * regXboi goes and builds 15:03:21 #info the main change seems to be adding ConstructXml.java which builds a Node, but does so by making a document 15:03:30 we lost Neel 15:04:24 no worries 15:04:35 I'm verifying that this works 15:06:02 you need the test.xml 15:06:14 and you need to change the hard coded filename 15:06:39 yah 15:07:16 but it does work after those two changes 15:07:59 colindixon: link to previous meeting minutes? 15:08:05 * regXboi wants to review 15:08:10 did i miss any thing some how my pidgin messenger got disconnected 15:08:46 Neel_B: no... I was pulling the code and compiling it and colindixon was noting the delta from last time 15:08:50 regXboi: https://meetings.opendaylight.org/opendaylight-intern/2014/jquery_xpath_for_md_sal_intern/opendaylight-intern-jquery_xpath_for_md_sal_intern.2014-07-01-15.10.html 15:09:20 so, Neel_B, I’m not sure that I understand what’s going on because we’re not using the Node class anymore 15:09:45 which means we’re not learning what we’d need to do to get the MD-SAL nodes act like a Document 15:10:18 colindixon: why do you say that? 15:10:20 I see Node 15:10:32 what I don't see is MyNode and MyDocument 15:11:21 regXboi: so CreateXml.java uses a document builder/factory 15:11:25 right? 15:11:31 yeah 15:11:47 you mean ConstructXml.java? 15:11:50 yes 15:12:20 isn't that what you were expecting ? 15:13:06 we can read values from MD-SAL every time and construct this xml on the fly and call xpath 15:13:21 this is what i understood and didaccordingly 15:13:33 did accordingly* 15:13:39 ah I see 15:14:19 Neel_B: so, the hope was that we could build our own version of Node 15:14:31 and use that without having to use Document 15:14:41 because Node has fewer things to implement 15:15:25 node is superclass of document i guess ? 15:15:39 yes 15:16:30 #info ConstructXml.java builds a Document (which is also a Node) that actually has the data in it 15:16:31 So I just looked at the code 15:17:00 devinavery: yes? 15:17:08 there are somethings we are missing in hardcoding the nodes 15:17:08 For performance reasons, we will NOT be able to build a document out of the contents of the MD-SAL data store like you have done here 15:17:22 devinavery: agreed 15:17:38 Neel_B: so that would be useful discussion to have 15:17:40 We will have to wrap live MD-SAL objects and constructs with the interfaces that XPath needs (which is org.w3c.dom.Node) 15:17:58 i have an alternative from the same construct Xml.java 15:18:04 devinavery: whoa... 15:18:06 it should be like this 15:18:07 Thats why we want to understand what it takes implement a Node. 15:18:21 i guess i understood a bit 15:18:35 there is a document node which is the root 15:18:54 which has element nodes as children 15:19:05 * colindixon looks 15:19:09 rexBoi: I am not 100% sure what we are wrapping yet, but we want to wrap MD-SAL in someway - that is my point. 15:19:23 regXboi: does that ease your concern any? :) 15:19:36 and each element node has text node as children which is b or c2 or c1 etc 15:19:55 devinavery: the whoa was I looked at what implementing Node implies 15:20:13 also each element node has element nodes as chidren too 15:20:26 did i make sene to any one ? 15:20:35 regXboi: ahh. :) Yes, though through this exercise so far it looks like we really only need to implement a half a dozen or so of the methods (i.e. a few read only methods) 15:21:12 Neel_B: yes that makes sense. 15:21:36 the current line of reasoning was as follows: (1) internally the MD-SAL uses nodes, lets call them MDNode, (2) internally a Document uses nodes, let’s call them w3cNode, (3) XPath queries take things that implement w3cNode and returns a list of children that match the query, (3) as a consequence if we figure out the effort to build a custom thing that implements the w3cNode interface and works for the XPath queries we ca 15:21:36 about we can start thinking about how to wrap the MDNode class with something to make the whole thing work 15:22:11 sorry for that blob of text 15:22:24 colindixon: agree. 15:22:42 so, Neel_B the issue is that eventually we are going to need to implement a class of our own (without using document) that provides the Node interface 15:22:55 and we want to understand what methods we need to implement to do that 15:23:18 so the point here is that we need to implement the methods of Node that Xpath uses, but *NOT* via Node so that we can see about grafting them on to MDNodes 15:23:26 yes 15:23:53 org.w3c.dom.Node is actually an interface 15:24:00 so we just need our own implementation of it 15:24:18 http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/Node.html 15:24:32 do we need all of it, or just the "get" methods? 15:24:38 Neel_B: does what I said make sense? 15:24:56 regXboi: we only need *some* of the get methods. :) 15:25:09 it did .... i am thinking how 15:25:13 no has/is methods? 15:25:26 regXboi: so, what we had done is to implement ThrowExceptionNode so we can tell quickly when we need to add new methods 15:25:34 ah 15:25:36 got it 15:25:54 i guess all the functions i wrote are sufficient then 15:25:58 and then did custom extensions of that with hardcoded values in the TestXpath.java to figure out what we could get away with 15:26:27 Would it be useful to jump on a google hangout and write the "test" cases together? 15:26:55 yeah 15:27:00 Or even if I just jump on a hangout with Neel to do it with him. That way we can be clear on what the test cases are 15:27:00 that would probably make sense 15:27:21 okay 15:27:24 sure 15:27:24 public hangout or do you want me to start one? 15:27:33 we can go to the public hangout 15:27:39 okay 15:27:47 http://hangout.vyatta.com/ 15:59:38 #info Neel_B, devinavery, regXboi and colindixon gathered in a google hangout to jointly write JUnit test cases 16:07:43 #chair regXboi devinavery 16:07:43 Current chairs: colindixon devinavery regXboi 16:07:52 you guys can do the #endmeeting 16:08:18 Thanks 17:25:49 #action Neel_B To upload junit test and code to his new git repo 17:26:03 #action Neel_B to then implement the hardcoded nodes to get existing JUnit tests passing 17:26:46 #action devinavery to download the JUnit code, and work with colindixon and regXboi to come up with more interesting "questions" we want to ask, so we can provide some more xpath statements to test with 17:27:12 #action devinavery will write the xpath exp and provide to Neel_B to test once his code is passing the existing JUnits 17:28:05 #info Next meeting by IRC is set for Monday July 7th, unless e-mails say otherwise. Same time - 11 Est / 10 Central / 8:30 India 17:28:25 #info Neel_B to send e-mails as he completes the various work. 17:28:44 #action Neel_B should send e-mails as he finishes work and upload changes to his git repo. 17:28:49 #endmeeting