From 3ed8e2630d93e12296bdda5f6beb51e0f81a7afa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Tue, 8 May 2012 22:01:29 +0000 Subject: [PATCH] Renamed HubDescriptorHelper to HubAnnouncementHelper for making it more clear --- .gitattributes | 1 + application/hub/config.php | 2 +- .../interfaces/package/class_Deliverable.php | 3 +- .../class_HubAnnouncementHelper.php | 114 ++++++++++++++++++ .../class_HubDescriptorHelper.php | 114 +----------------- .../hub/main/package/class_NetworkPackage.php | 9 +- .../main/tags/package/class_PackageTags.php | 3 +- 7 files changed, 127 insertions(+), 119 deletions(-) create mode 100644 application/hub/main/helper/hub/announcement/class_HubAnnouncementHelper.php diff --git a/.gitattributes b/.gitattributes index 5e40db56e..a28c16fc0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -300,6 +300,7 @@ application/hub/main/helper/connection/udp/.htaccess -text svneol=unset#text/pla application/hub/main/helper/connection/udp/class_UdpConnectionHelper.php svneol=native#text/plain application/hub/main/helper/hub/.htaccess -text svneol=unset#text/plain application/hub/main/helper/hub/announcement/.htaccess -text svneol=unset#text/plain +application/hub/main/helper/hub/announcement/class_HubAnnouncementHelper.php svneol=native#text/plain application/hub/main/helper/hub/announcement/class_HubDescriptorHelper.php svneol=native#text/plain application/hub/main/helper/hub/class_ svneol=native#text/plain application/hub/main/helper/hub/class_BaseHubHelper.php svneol=native#text/plain diff --git a/application/hub/config.php b/application/hub/config.php index 928b5ee93..1d2888865 100644 --- a/application/hub/config.php +++ b/application/hub/config.php @@ -127,7 +127,7 @@ $cfg->setConfigEntry('node_raw_data_monitor_visitor_class', 'RawDataPoolMonitorV $cfg->setConfigEntry('list_group_class', 'ListGroupList'); // CFG: HUB-ANNOUNCEMENT-HELPER-CLASS -$cfg->setConfigEntry('hub_announcement_helper_class', 'HubDescriptorHelper'); +$cfg->setConfigEntry('hub_announcement_helper_class', 'HubAnnouncementHelper'); // CFG: HUB-SELF-CONNECT-HELPER-CLASS $cfg->setConfigEntry('hub_self_connect_helper_class', 'HubSelfConnectHelper'); diff --git a/application/hub/interfaces/package/class_Deliverable.php b/application/hub/interfaces/package/class_Deliverable.php index 517b2bb5e..e1e8f6572 100644 --- a/application/hub/interfaces/package/class_Deliverable.php +++ b/application/hub/interfaces/package/class_Deliverable.php @@ -24,7 +24,8 @@ interface Deliverable extends FrameworkInterface { /** * "Enqueues" raw content into this delivery class by reading the raw content - * from given template instance and pushing it on the 'undeclared' stack. + * from given helper's template instance and pushing it on the 'undeclared' + * stack. * * @param $helperInstance An instance of a HelpableHub class * @return void diff --git a/application/hub/main/helper/hub/announcement/class_HubAnnouncementHelper.php b/application/hub/main/helper/hub/announcement/class_HubAnnouncementHelper.php new file mode 100644 index 000000000..f840644ee --- /dev/null +++ b/application/hub/main/helper/hub/announcement/class_HubAnnouncementHelper.php @@ -0,0 +1,114 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Hub Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.ship-simu.org + * @todo Find an interface for hub helper + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class HubAnnouncementHelper extends BaseHubHelper implements HelpableHub { + /** + * An array with all tags for network packages + */ + private $packageTags = array('announcement'); + + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + + // Set recipient type + $this->setRecipientType(NetworkPackage::NETWORK_TARGET_UPPER_HUBS); + } + + /** + * Creates the helper class + * + * @return $helperInstance A prepared instance of this helper + */ + public static final function createHubAnnouncementHelper () { + // Get new instance + $helperInstance = new HubAnnouncementHelper(); + + // Return the prepared instance + return $helperInstance; + } + + /** + * Loads the announcement descriptor for parsing + * + * @return void + */ + public function loadDescriptorXml () { + // Debug message + $this->debugOutput('HELPER: Starting with announcement to upper hubs...'); + + // Get a XML template instance + $templateInstance = XmlTemplateEngineFactory::createXmlTemplateEngineInstance('node_announcement_template_class'); + + // Set it for later use + $this->setTemplateInstance($templateInstance); + + // Read the XML descriptor + $this->getTemplateInstance()->loadAnnouncementTemplate(); + + // Render the XML content + $this->getTemplateInstance()->renderXmlContent(); + } + + /** + * Publishes the node's descriptor XML to all found upper nodes when the + * node has not yet published it's descriptor to a bootstrap node. This is + * done by getting the raw XML content and inserting all variables into + * the code. After this wents fine, the rendered content got "packaged" + * for network delivery. + * + * @param $nodeInstance An instance of a NodeHelper class + * @return void + */ + public function sendPackage (NodeHelper $nodeInstance) { + // Sanity check: Is the node in the approx. state? (active) + $nodeInstance->getStateInstance()->validateNodeStateIsActive(); + + // Compile the template, this inserts the loaded node data into the gaps. + $this->getTemplateInstance()->compileTemplate(); + + // Get a singleton network package instance + $packageInstance = NetworkPackageFactory::createNetworkPackageInstance(); + + // Next, feed the content in. The network package class is a pipe-through class. + $packageInstance->enqueueRawDataFromTemplate($this); + } + + /** + * Getter for package tags in a simple array + * + * @return $tags An array with all tags for the currently handled package + */ + public final function getPackageTags () { + return $this->packageTags; + } +} + +// [EOF] +?> diff --git a/application/hub/main/helper/hub/announcement/class_HubDescriptorHelper.php b/application/hub/main/helper/hub/announcement/class_HubDescriptorHelper.php index d87de3c5e..f551ef47b 100644 --- a/application/hub/main/helper/hub/announcement/class_HubDescriptorHelper.php +++ b/application/hub/main/helper/hub/announcement/class_HubDescriptorHelper.php @@ -1,115 +1,3 @@ - * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 Hub Developer Team - * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org - * @todo Find an interface for hub helper - * - * 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -class HubDescriptorHelper extends BaseHubHelper implements HelpableHub { - /** - * An array with all tags for network packages - */ - private $packageTags = array('announcement'); - - /** - * Protected constructor - * - * @return void - */ - protected function __construct () { - // Call parent constructor - parent::__construct(__CLASS__); - - // Set recipient type - $this->setRecipientType(NetworkPackage::NETWORK_TARGET_UPPER_HUBS); - } - - /** - * Creates the helper class - * - * @return $helperInstance A prepared instance of this helper - */ - public static final function createHubDescriptorHelper () { - // Get new instance - $helperInstance = new HubDescriptorHelper(); - - // Return the prepared instance - return $helperInstance; - } - - /** - * Loads the announcement descriptor for parsing - * - * @return void - * @todo Rewrite the ->renderXmlContent() call to no arguments - */ - public function loadDescriptorXml () { - // Debug message - $this->debugOutput('HELPER: Starting with announcement to upper hubs...'); - - // Get a XML template instance - $templateInstance = XmlTemplateEngineFactory::createXmlTemplateEngineInstance('node_announcement_template_class'); - - // Set it for later use - $this->setTemplateInstance($templateInstance); - - // Read the XML descriptor - $this->getTemplateInstance()->loadAnnouncementTemplate(); - - // Render the XML content - $this->getTemplateInstance()->renderXmlContent(); - } - - /** - * Publishes the node's descriptor XML to all found upper nodes when the - * node has not yet published it's descriptor to a bootstrap node. This is - * done by getting the raw XML content and inserting all variables into - * the code. After this wents fine, the rendered content got "packaged" - * for network delivery. - * - * @param $nodeInstance An instance of a NodeHelper class - * @return void - */ - public function sendPackage (NodeHelper $nodeInstance) { - // Sanity check: Is the node in the approx. state? (active) - $nodeInstance->getStateInstance()->validateNodeStateIsActive(); - - // Compile the template, this inserts the loaded node data into the gaps. - $this->getTemplateInstance()->compileTemplate(); - - // Get a singleton network package instance - $packageInstance = NetworkPackageFactory::createNetworkPackageInstance(); - - // Next, feed the content in. The network package class is a pipe-through class. - $packageInstance->enqueueRawDataFromTemplate($this); - } - - /** - * Getter for package tags in a simple array - * - * @return $tags An array with all tags for the currently handled package - */ - public final function getPackageTags () { - return $this->packageTags; - } -} - -// [EOF] +// @DEPRECATED ?> diff --git a/application/hub/main/package/class_NetworkPackage.php b/application/hub/main/package/class_NetworkPackage.php index 342c4c673..64cd3d046 100644 --- a/application/hub/main/package/class_NetworkPackage.php +++ b/application/hub/main/package/class_NetworkPackage.php @@ -550,7 +550,8 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R /** * "Enqueues" raw content into this delivery class by reading the raw content - * from given template instance and pushing it on the 'undeclared' stack. + * from given helper's template instance and pushing it on the 'undeclared' + * stack. * * @param $helperInstance An instance of a HelpableHub class * @return void @@ -647,8 +648,10 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R return; } // END - if - // Now we know for sure there are packages to deliver, we can start - // with the first one. + /* + * Now there are for sure packages to deliver, so start with the first + * one. + */ $packageData = $this->getStackerInstance()->getNamed(self::STACKER_NAME_UNDECLARED); // Declare the raw package data for delivery diff --git a/application/hub/main/tags/package/class_PackageTags.php b/application/hub/main/tags/package/class_PackageTags.php index 5b39ff61b..db20f15f6 100644 --- a/application/hub/main/tags/package/class_PackageTags.php +++ b/application/hub/main/tags/package/class_PackageTags.php @@ -62,7 +62,8 @@ class PackageTags extends BaseTags implements Tagable { } /** - * Loads the XML file (our "object registry") and saves an instance for faster re-use + * Loads the XML file (our "object registry") and saves an instance for + * faster re-use. * * @return void */ -- 2.39.5