Merge "Add task-args(from yaml file) candidates in /api/v2/yardstick/testcases API"
[yardstick.git] / yardstick / dispatcher / base.py
index fe635b9..1fc0a2f 100644 (file)
@@ -1,12 +1,22 @@
-##############################################################################
-# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others.
+# Copyright 2013 IBM Corp
+# All Rights Reserved.
 #
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
 
+# yardstick comment: this is a modified copy of
+# ceilometer/ceilometer/dispatcher/__init__.py
+
+from __future__ import absolute_import
 import abc
 import six
 
@@ -21,7 +31,7 @@ class Base(object):
 
     @staticmethod
     def get_cls(dispatcher_type):
-        '''Return class of specified type.'''
+        """Return class of specified type."""
         for dispatcher in utils.itersubclasses(Base):
             if dispatcher_type == dispatcher.__dispatcher_type__:
                 return dispatcher
@@ -31,12 +41,12 @@ class Base(object):
     def get(config):
         """Returns instance of a dispatcher for dispatcher type.
         """
-        return Base.get_cls(config["type"])(config)
+        list_dispatcher = \
+            [Base.get_cls(out_type.capitalize())(config)
+             for out_type in config['DEFAULT']['dispatcher']]
 
-    @abc.abstractmethod
-    def record_result_data(self, data):
-        """Recording result data interface."""
+        return list_dispatcher
 
     @abc.abstractmethod
-    def flush_result_data(self):
+    def flush_result_data(self, data):
         """Flush result data into permanent storage media interface."""