diff options
| author | Matthew Hooker <matt@cloudscaling.com> | 2011-08-03 14:30:45 -0400 |
|---|---|---|
| committer | Matthew Hooker <matt@cloudscaling.com> | 2011-08-03 14:30:45 -0400 |
| commit | 91e16e057f083d1a0b8dffaa00b5979c12c23edc (patch) | |
| tree | 39c28376d85ad68d3ec7488867dfaf611816a6d1 /nova/api | |
| parent | 916e0ce0997bdf3135684865eff6fadcda95752b (diff) | |
| download | nova-91e16e057f083d1a0b8dffaa00b5979c12c23edc.tar.gz nova-91e16e057f083d1a0b8dffaa00b5979c12c23edc.tar.xz nova-91e16e057f083d1a0b8dffaa00b5979c12c23edc.zip | |
fix potential runtime exception
The exception could occur if a client were to create an APIRouter object.
The fix relies on more established OOP patterns.
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/__init__.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/nova/api/openstack/__init__.py b/nova/api/openstack/__init__.py index 868b98a31..8d7f7a405 100644 --- a/nova/api/openstack/__init__.py +++ b/nova/api/openstack/__init__.py @@ -81,7 +81,10 @@ class APIRouter(base_wsgi.Router): self._setup_routes(mapper) super(APIRouter, self).__init__(mapper) - def _setup_routes(self, mapper, version): + def _setup_routes(self, mapper): + raise NotImplementedError("you must implement _setup_routes") + + def _setup_base_routes(self, mapper, version): """Routes common to all versions.""" server_members = self.server_members @@ -147,7 +150,7 @@ class APIRouterV10(APIRouter): """Define routes specific to OpenStack API V1.0.""" def _setup_routes(self, mapper): - super(APIRouterV10, self)._setup_routes(mapper, '1.0') + self._setup_base_routes(mapper, '1.0') mapper.resource("shared_ip_group", "shared_ip_groups", collection={'detail': 'GET'}, @@ -163,7 +166,7 @@ class APIRouterV11(APIRouter): """Define routes specific to OpenStack API V1.1.""" def _setup_routes(self, mapper): - super(APIRouterV11, self)._setup_routes(mapper, '1.1') + self._setup_base_routes(mapper, '1.1') image_metadata_controller = image_metadata.create_resource() mapper.resource("image_meta", "metadata", controller=image_metadata_controller, |
