X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fhub%2Fmain%2Ffilter%2Ftask%2Fcruncher%2Fclass_CruncherTaskHandlerInitializerFilter.php;h=b4ef8b4e00a62f77355514e274e4fcdf2f7da8b5;hb=a9c315c022840a31e051201a61078dcde368f389;hp=895223257344cd420986505baf1f99ff1ddda2b4;hpb=01c1eee4daca999fb09fb116c19efd589cf0cba8;p=hub.git diff --git a/application/hub/main/filter/task/cruncher/class_CruncherTaskHandlerInitializerFilter.php b/application/hub/main/filter/task/cruncher/class_CruncherTaskHandlerInitializerFilter.php index 895223257..b4ef8b4e0 100644 --- a/application/hub/main/filter/task/cruncher/class_CruncherTaskHandlerInitializerFilter.php +++ b/application/hub/main/filter/task/cruncher/class_CruncherTaskHandlerInitializerFilter.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Cruncher Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Cruncher Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CruncherTaskHandlerInitializerFilter extends BaseFilter implements Filterable { +class CruncherTaskHandlerInitializerFilter extends BaseCruncherFilter implements Filterable { /** * Protected constructor * @@ -52,7 +52,7 @@ class CruncherTaskHandlerInitializerFilter extends BaseFilter implements Filtera * @param $responseInstance An instance of a class with an Responseable interface * @return void * @throws FilterChainException If we need to interrupt the filter chain - * @todo 0% done + * @todo 5% done */ public function execute (Requestable $requestInstance, Responseable $responseInstance) { // Get cruncher instance @@ -61,6 +61,28 @@ class CruncherTaskHandlerInitializerFilter extends BaseFilter implements Filtera // Get a new task handler instance $handlerInstance = ObjectFactory::createObjectByConfiguredName('task_handler_class'); + // Register all tasks: + // + // 1) A task for fetching WUs (work units) or test units + $taskInstance = ObjectFactory::createObjectByConfiguredName('cruncher_work_unit_fetcher_task_class'); + $handlerInstance->registerTask('cruncher_work_unit_fetcher', $taskInstance); + + /* + * 2) A task for generating test units, a if() block could be placed + * around this but that would make this method look a little ugly and + * even more when more "temporary" tasks should be registered. + */ + $taskInstance = ObjectFactory::createObjectByConfiguredName('cruncher_test_unit_producer_task_class'); + $handlerInstance->registerTask('cruncher_test_unit_producer', $taskInstance); + + /* + * 3) A task for generating keys based on the generated test unit. This + * task will only be executed if the state of the cruncher is one of + * these: 'virgin'. + */ + $taskInstance = ObjectFactory::createObjectByConfiguredName('cruncher_key_producer_task_class'); + $handlerInstance->registerTask('cruncher_key_producer', $taskInstance); + // Put the task handler in registry Registry::getRegistry()->addInstance('task', $handlerInstance); }