def create_member_objects(self, regh, keyspec, msg, user_data): """This function implements the data member APIs to create, update and read objects """ logger.info("Creating member data objects !!!") id = 1 for id in range(1, 10): emp = RwDtsToyTaskletYang.Employee() emp.name = 'jdoe' + str(id) emp.age = 30 + id emp.phone = '978-863-00' + str(id) emp.ssn = '123-45-000' + str(id) path = '/rw-dts-toy-tasklet:employee[rw-dts-toy-tasklet:name=\'jdoe' + str(id) + '\']' status, ks = self.apih.keyspec_from_xpath(path) logger.debug("keyspec_from_xpath returned %s for path %s", status, ks) status = self.mbdreg.create_element_keyspec(ks, emp.to_pbcm()) logger.debug("create_element_keyspec returned %s for path %s", status, ks) #Update an element path = '/rw-dts-toy-tasklet:employee[rw-dts-toy-tasklet:name=\'jdoe9\']' status, ks = self.apih.keyspec_from_xpath(path) logger.debug("keyspec_from_xpath returned %s for path %s", status, ks) emp = RwDtsToyTaskletYang.Employee() emp.name = 'jdoe9' + str(id) emp.age = 41 emp.phone = '978-863-099' emp.ssn = '123-45-0099' status = self.mbdreg.update_element_keyspec(ks, emp.to_pbcm(), RwDts.XactFlag.REPLACE) logger.info("Updated the object with key = %s status = %s", path, status) # Now read it back status, out_ks, pbcm = self.mbdreg.get_element_keyspec(ks) logger.info("Get returned status=%s, pbcm=%s out_ks = %s", status, pbcm, out_ks) employee = RwDtsToyTaskletYang.Employee.from_pbcm(pbcm) logger.info("Read record is %s", employee) # Now read with xpath status, pbcm,out_ks = self.mbdreg.get_element_xpath('C,/rw-dts-toy-tasklet:employee[rw-dts-toy-tasklet:name=\'jdoe8\']') logger.info("Get returned using xpath status=%s pbcm=%s out_ks = %s", status, pbcm, out_ks) employee = RwDtsToyTaskletYang.Employee.from_pbcm(pbcm) logger.info("Read record using xpath is %s", employee) # Get a cursor and walk the list cursor = self.mbdreg.get_current_cursor() msg, ks = self.mbdreg.get_next_element(cursor) while msg is not None: employee = RwDtsToyTaskletYang.Employee.from_pbcm(msg) logger.info("Read record using get next api %s", employee) msg, ks = self.mbdreg.get_next_element(cursor)