X-Git-Url: https://git.mxchange.org/?p=hub.git;a=blobdiff_plain;f=application%2Fhub%2Fmain%2Ffilter%2Fclass_BaseHubFilter.php;h=6346a60ec84202c8c069688d2910c77594db15d0;hp=9cf41bbb20286da179cd950506cb75f3298b45a3;hb=73aff29b9bc78031853b0b8c0fe0a8e04f66ac29;hpb=d3a8f731bcdf6f76e8ed30c1a2a9c6bda10e8fee diff --git a/application/hub/main/filter/class_BaseHubFilter.php b/application/hub/main/filter/class_BaseHubFilter.php index 9cf41bbb2..6346a60ec 100644 --- a/application/hub/main/filter/class_BaseHubFilter.php +++ b/application/hub/main/filter/class_BaseHubFilter.php @@ -2,11 +2,11 @@ /** * A generic filter for hub project * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Hub Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Hub Developer Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @link http://www.shipsimu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -50,15 +50,24 @@ class BaseHubFilter extends BaseFilter { * well-formed * * @param $messageType Type of message - * @param $messageContent Raw message content + * @param $messageData Raw message data array * @param $packageInstance An instance of a Receivable class * @return void * @todo Exceptions from renderXmlContent() are currently unhandled */ - protected function genericProcessMessage ($messageType, $messageContent, Receivable $packageInstance) { + protected function genericProcessMessage ($messageType, array $messageData, Receivable $packageInstance) { + // Make sure the wanted element is there + assert(isset($messageData[NetworkPackage::PACKAGE_CONTENT_MESSAGE])); + assert(isset($messageData[NetworkPackage::PACKAGE_CONTENT_SENDER])); + assert(isset($messageData[NetworkPackage::PACKAGE_CONTENT_HASH])); + assert(isset($messageData[NetworkPackage::PACKAGE_CONTENT_TAGS])); + // Get a template instance from the factory $templateInstance = XmlTemplateEngineFactory::createXmlTemplateEngineInstance('node_' . $messageType . '_template_class'); + // Get message content + $messageContent = $messageData[NetworkPackage::PACKAGE_CONTENT_MESSAGE]; + // And render the XML content (aka message) $templateInstance->renderXmlContent($messageContent); @@ -97,13 +106,19 @@ class BaseHubFilter extends BaseFilter { // Construct an array for pushing it on next stack $messageArray = array( // Message data itself - NetworkPackage::MESSAGE_ARRAY_DATA => $this->dataXmlNodes, + NetworkPackage::MESSAGE_ARRAY_DATA => $this->dataXmlNodes, // Message type (which is $messageType) - NetworkPackage::MESSAGE_ARRAY_TYPE => $messageType + NetworkPackage::MESSAGE_ARRAY_TYPE => $messageType, + // Message sender + NetworkPackage::MESSAGE_ARRAY_SENDER => $messageData[NetworkPackage::PACKAGE_CONTENT_SENDER], + // Package hash + NetworkPackage::MESSAGE_ARRAY_HASH => $messageData[NetworkPackage::PACKAGE_CONTENT_HASH], + // Package tags + NetworkPackage::MESSAGE_ARRAY_TAGS => $messageData[NetworkPackage::PACKAGE_CONTENT_TAGS], ); // Push the processed message back on stack - $packageInstance->getStackerInstance()->pushNamed(NetworkPackage::STACKER_NAME_PROCESSED_MESSAGE, $messageArray); + $packageInstance->getStackInstance()->pushNamed(NetworkPackage::STACKER_NAME_PROCESSED_MESSAGE, $messageArray); } }