]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/handler/message-types/class_BaseMessageHandler.php
Added announcement answer XML, template engine and acceptance of announcements
[hub.git] / application / hub / main / handler / message-types / class_BaseMessageHandler.php
index 7b6763eeee2c9b9489855dce300385c0a1b30a60..5b93828568b600de49b132fe88579a7b5f615b70 100644 (file)
@@ -89,6 +89,30 @@ class BaseMessageHandler extends BaseHandler {
                        $wrapperInstance->registerNodeByMessageData($messageData, $this);
                }
        }
+
+       /**
+        * Prepares a message as answer for given message data for delivery.
+        *
+        * @param       $messageData            An array with all message data
+        * @param       $packageInstance        An instance of a Deliverable instance
+        * @return      void
+        */
+       protected function prepareAnswerMessage (array $messageData, Deliverable $packageInstance) {
+               // Get a helper instance based on this handler's name
+               $helperInstance = ObjectFactory::createObjectByConfiguredName('node_answer_' . $this->getHandlerName() . '_helper_class', array($messageData));
+
+               // Load descriptor XML
+               $helperInstance->loadDescriptorXml();
+
+               // Compile any configuration variables
+               $helperInstance->getTemplateInstance()->compileConfigInVariables();
+
+               // Get node instance
+               $nodeInstance = Registry::getRegistry()->getInstance('node');
+
+               // Deliver the package
+               $helperInstance->sendPackage($nodeInstance);
+       }
 }
 
 // [EOF]