X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fhub%2Fmain%2Ffilter%2Fclass_BaseHubFilter.php;h=6346a60ec84202c8c069688d2910c77594db15d0;hb=73aff29b9bc78031853b0b8c0fe0a8e04f66ac29;hp=fbde97be8283d615814e84a3e64e375df68eee00;hpb=3e80b362d56cce84b1b33e66f13dba51e4cc9606;p=hub.git diff --git a/application/hub/main/filter/class_BaseHubFilter.php b/application/hub/main/filter/class_BaseHubFilter.php index fbde97be8..6346a60ec 100644 --- a/application/hub/main/filter/class_BaseHubFilter.php +++ b/application/hub/main/filter/class_BaseHubFilter.php @@ -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,9 +106,15 @@ 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