13:30:34 #startmeeting md-sal-query 13:30:34 Meeting started Thu Aug 7 13:30:34 2014 UTC. The chair is regXboi. Information about MeetBot at http://ci.openstack.org/meetbot.html. 13:30:34 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:30:34 The meeting name has been set to 'md_sal_query' 13:30:41 #chair devinavery 13:30:41 Current chairs: devinavery regXboi 13:31:44 #info devinavery has comments on how to get to a NormalizedNode via DOMDataBroker 13:31:59 #info code pattern follows in text file 13:32:09 YangInstanceIdentifier build = YangInstanceIdentifier.builder( QName.create( new URI( "http://netconfcentral.org/ns/toaster"; ), Date.valueOf( "2009-11-20" ), "toaster" ) ).build(); CheckedFuture>, ReadFailedException> read2 = readTx2.read( LogicalDatastoreType.OPERATIONAL, build ); NormalizedNode normalizedNode = read2.get().get(); 13:32:26 note: .builder( is struck out in above 13:32:55 and then wrapping the normalized node within Neel_B's xpath node interfaces 13:32:59 oops 13:33:07 #info and then wrapping the normalized node within Neel_B's xpath node interfaces 13:34:07 devinavery: is that reasonable? 13:34:41 regXboi: Yup. That is what I was envisioning we could do 13:35:01 I haven't played with the NormalizedNode too much, but I would imagine that we could traverse it. 13:35:40 can we simplify by staying with Composite even though its now deprecated? 13:36:57 My line of thought was that we want to avoid as much conversion as possible. We get composite nodes only after converting a read, so I would rather we use NormalizedNode and thus have to convert less etc. 13:37:25 hmm 13:37:56 * regXboi thinks some 13:38:14 devinavery: regXboi : ReadTx2 13:38:22 what is it ? 13:38:29 What is your reasoning for wanting to stay with a composite node? 13:38:59 DOMDataReadOnlyTransaction readTx2 = domBroker.newReadOnlyTransaction(); 13:41:08 we have code based on CompositeNode 13:41:39 it will likely take a refactoring to use NormalizedNode 13:41:54 Ok. Perhaps I missed that code. Can you point me to it? 13:43:02 * regXboi thinks some more 13:44:40 ok, n/m 13:44:42 * djx is curious about the conversation 13:44:54 latest code is now updated 13:45:07 I was confusing the j-unit test code with the actual code 13:45:15 what needs to be refactored is the test code 13:45:55 newReadOnlyTransaction() is not defined for DomDataBroker 13:49:37 Neel_B: Make sure you have the correct data broker imported. I provided the full path in my e-mail 13:50:21 djx: We talking about providing an xpath query interface on top of MD-SAL 13:50:49 #info full path to DomDataBroker is org.opendaylight.controller.md.sal.dom.api.DOMDataBroker 13:52:21 cool ;-) 13:52:53 regXboi: so the code that depended on the composite node was just the test code? Ok I see that. So I would suggest then that we try to confer to the normalized node 13:54:20 Since we know what methods are required by the xpath interfaces and how they generally interact I would suggest the next steps be for Neel_B to play around with the NormalizedNode class and experiment with accessing the data etc in similar recursive patterns etc. 13:55:12 devinavery: for the minutes, we should have a link to the normalizednode javadoc 13:55:27 Looking i tup 13:56:45 #info only dependency in project on CompositeNode is unit test code. 13:57:11 #info devinavery suggests to confer to NormalizedNode 13:58:06 ugh. So the normalized node is defined in the YangTools project 13:58:16 which doesn't seem to publish javadoc to the web. :) 13:58:30 The fully qualified class name is: org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode 13:58:34 oh edwarnicke: you reading this? 14:01:19 the jenkins job doesn't spin anything out as a side effect that I can see 14:02:52 what methods of CompositeNode do we use? 14:03:31 From the test it looks like the CompositeNode is passed into a method that converts it into a document. 14:03:44 We don't call anything explicitly on it. 14:03:47 i got disconnected 14:03:58 someone post log please 14:04:11 Neel_B - we are still going. Will send the logs when we get there 14:04:32 i got both composite node and normalized node bith 14:04:47 https://meetings.opendaylight.org/opendaylight-intern/2014/md_sal_query/opendaylight-intern-md_sal_query.2014-08-07-13.30.log.txt 14:05:01 I'm looking at the two classes side by side and we may have some issues 14:05:52 NormalizedNode only has getNodeType, getIdentifier, and getValue 14:06:39 I don't see how that gets me children 14:06:49 but maybe I'm missing it from the parent 14:06:54 Children would be stored under an "identifier" 14:07:33 So the NormalizedNode (in my understanding) is just a map. So a list of children would have an identifier which pointed to the list (I think) and the value would be the list of children. 14:08:36 What I would suggest Neel_B do is 1) create a simple yang file that has some nested values (or modify the toaster.yang to add a child list etc), and then 2) read those values and just printout what the values are in the normalized node. 14:08:52 that works for me 14:09:01 but we should do this again in 24 hours 14:09:01 Hopefully that will clarify for us how we can use NormalizedNode to achieve what we want. 14:09:22 regXboi: Agree - that shouldn't take too long to do. And then we can meet tomorrow and look at the results. 14:10:13 So to summerize: 14:10:29 okay 14:10:57 #action Neel_B to create a new yang (or modify the toaster) to have a child list (so our tree has some depth). 14:11:25 devinavery - you available at this time tomorrow? (i.e. 9:30 ET) 14:11:31 #action Neel_B to then query that yang using the generic data broker, and iterate the NormalizedNode values to try and figure out how the nodes are nested etc. 14:12:01 regXboi: I am free all morning. So I can make this time (9:30 EST) or I can make 11:30 EST 14:12:37 Neel_B - does this time work for tomorrow? 14:12:45 #action Neel_B should look at NormalizedNode and the values returned, and start to document how we might map the NormalizedNode to the XPath interfaces that we discovered in earlier tests. 14:13:22 yeah 14:13:35 11:30 et also works 14:13:36 EST* 14:13:44 let's go this slot 14:13:50 okay :0 14:13:53 :) 14:13:53 we get to that later slot and I may get pre-empted :) 14:14:10 Sounds good. 14:14:43 i will ping ifsomething is required or mail .. 14:14:43 #action we'll meet again at the time in the next link 14:14:47 #link http://www.timeanddate.com/worldclock/meetingdetails.html?year=2014&month=8&day=8&hour=13&min=30&sec=0&p1=24&p2=43&p3=505&p4=283&iv=1800 14:15:07 #info We will meet again Friday Aug 8th, 9:30 EST, 8:30 CST, 7P India 14:15:24 any think else? 14:15:32 regXboi: Awesome. Ok Neel. Do you have anything else or is what we are asking clear to you? 14:15:33 er anything else (gack!) 14:15:58 yes clear 14:16:20 Great. I think we are done for today then. 14:16:26 yes... 14:16:35 #action regXboi to send mail with minutes and next meeting link 14:16:38 #endmeeting