def prop_collection_read(self, obj_type, obj_uuid, obj_fields, position):
    obj_class = self._get_resource_class(obj_type)
    result = {}
    result['id_perms'] = self._cassandra_driver.get_one_col(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, 'prop:id_perms')
    for field in obj_fields:
        if (field in obj_class.prop_list_fields):
            prop_pfx = 'propl'
        elif (field in obj_class.prop_map_fields):
            prop_pfx = 'propm'
        else:
            continue
        if position:
            col_start = ('%s:%s:%s' % (prop_pfx, field, position))
            col_end = ('%s:%s:%s' % (prop_pfx, field, position))
        else:
            col_start = ('%s:%s:' % (prop_pfx, field))
            col_end = ('%s:%s;' % (prop_pfx, field))
        obj_cols = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_end)
        result[field] = []
        for (name, value) in obj_cols:
            result[field].append((json.loads(value), name.split(':', 2)[(- 1)]))
    return (True, result)
def prop_collection_read(self, obj_type, obj_uuid, obj_fields, position):
    obj_class = self._get_resource_class(obj_type)
    result = {}
    result['id_perms'] = self._cassandra_driver.get_one_col(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, 'prop:id_perms')
    for field in obj_fields:
        if (field in obj_class.prop_list_fields):
            prop_pfx = 'propl'
        elif (field in obj_class.prop_map_fields):
            prop_pfx = 'propm'
        else:
            continue
        if position:
            col_start = ('%s:%s:%s' % (prop_pfx, field, position))
            col_end = ('%s:%s:%s' % (prop_pfx, field, position))
        else:
            col_start = ('%s:%s:' % (prop_pfx, field))
            col_end = ('%s:%s;' % (prop_pfx, field))
        obj_cols = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_end)
        result[field] = []
        for (name, value) in obj_cols:
            result[field].append((json.loads(value), name.split(':', 2)[(- 1)]))
    return (True, result)