]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/helper/hub/announcement/class_HubDescriptorHelper.php
New factory method createPackageInstance introduced to ease creating a singleton...
[hub.git] / application / hub / main / helper / hub / announcement / class_HubDescriptorHelper.php
index ea2253336519a32acedd9ca92f5e8f539e1771b3..83b13ad6c88b270887a671d4c8eac059590f6396 100644 (file)
@@ -96,35 +96,17 @@ class HubDescriptorHelper extends BaseHubHelper {
         * @return      void
         */
        public function publishAnnouncementDescriptor () {
-               // Is the node in the approx state? (active)
+               // Sanity check: Is the node in the approx. state? (active)
                $this->getNodeInstance()->getStateInstance()->validateNodeStateIsActive();
 
                // Compile the template, this inserts the loaded node data into the gaps.
                $this->getTemplateInstance()->compileTemplate();
 
-               // Prepare the compressor for our package, GZIP should be fine but we
-               // keep it open here so you can experiment with the settings and don't
-               // need to touch any code.
-               $compressorInstance = ObjectFactory::createObjectByConfiguredName('raw_package_compressor_class');
-
-               // Prepare the decorator compressor (for later flawless and easy updates)
-               $compressorInstance = ObjectFactory::createObjectByConfiguredName('deco_package_compressor_class', array($compressorInstance));
-
-               // Do we have an instance in the registry?
-               if (Registry::getRegistry()->instanceExists('network_package')) {
-                       // Then use this instance
-                       $packageInstance = Registry::getRegistry()->getInstance('network_package');
-               } else {
-                       // Now prepare the network package for delivery so only need to do this
-                       // once just before the "big announcement loop".
-                       $packageInstance = ObjectFactory::createObjectByConfiguredName('network_package_class', array($compressorInstance));
-               }
+               // Get a package instance
+               $packageInstance = $this->getNodeInstance()->createPackageInstance();
 
                // Next, feed the content in. The network package class is a pipe-through class.
                $packageInstance->enqueueRawDataFromTemplate($this);
-
-               // Set the instance in registry for further use
-               Registry::getRegistry()->addInstance('network_package', $packageInstance);
        }
 }