common_db_mixin.py: simplify CommonDbMixin

Simplfy register_model_query_hook() and register_dict_extend_funcs().
Move register_dict_extend_funcs() into CommonDbMixin attribute
because the related class attribute, _dict_extend_functions, is
defined in CommonDbMixin. They should be defined in same class.

Change-Id: Ib7b6df0c236f1d0804941147cc7cd7902a611311
This commit is contained in:
Isaku Yamahata 2014-09-22 12:05:13 +09:00
parent b585715ab7
commit 70236654b7
2 changed files with 7 additions and 13 deletions

View File

@ -52,13 +52,13 @@ class CommonDbMixin(object):
Filter hooks take as input the filter expression being built and return
a transformed filter expression
"""
model_hooks = cls._model_query_hooks.get(model)
if not model_hooks:
# add key to dict
model_hooks = {}
cls._model_query_hooks[model] = model_hooks
model_hooks[name] = {'query': query_hook, 'filter': filter_hook,
'result_filters': result_filters}
cls._model_query_hooks.setdefault(model, {})[name] = {
'query': query_hook, 'filter': filter_hook,
'result_filters': result_filters}
@classmethod
def register_dict_extend_funcs(cls, resource, funcs):
cls._dict_extend_functions.setdefault(resource, []).extend(funcs)
@property
def safe_reference(self):

View File

@ -82,12 +82,6 @@ class NeutronDbPluginV2(neutron_plugin_base_v2.NeutronPluginBaseV2,
event.listen(models_v2.Port.status, 'set',
self.nova_notifier.record_port_status_changed)
@classmethod
def register_dict_extend_funcs(cls, resource, funcs):
cur_funcs = cls._dict_extend_functions.get(resource, [])
cur_funcs.extend(funcs)
cls._dict_extend_functions[resource] = cur_funcs
def _get_network(self, context, id):
try:
network = self._get_by_id(context, models_v2.Network, id)