/**
  * Constructor for the DyanmicModuleConfigurationHandler
  * @param string $configurationFilePath
  */
 public function __construct($configurationFilePath)
 {
     //Save the file path
     $this->configurationFilePath = $configurationFilePath;
     //Use the base class the lad the configuration
     $xml = parent::SaveOpenConfigurationFile($configurationFilePath, "modules");
     //loop through all the modules that have been loaded so far
     foreach ($xml->modules->module as $module) {
         //Get the name of the module
         $moduleName = (string) $module["name"];
         //Set up an array to old the module spacific configuration
         $configuration = array();
         //Loop through the modules configuration properties
         foreach ($module->properties->property as $property) {
             //Get the property name
             $name = (string) $property["name"];
             //Get the property type
             $type = (string) $property["type"];
             //Get the property description
             $description = (string) $property["description"];
             //Get the property value if there is one
             $value = (string) $property["value"];
             //Create a new strongly typed configuration element from the data
             $configEelement = new \Swiftriver\Core\ObjectModel\ConfigurationElement($name, $type, $description, $value);
             //Add the element to the configuration array
             $configuration[$name] = $configEelement;
         }
         //Add the configuration elements array to the modules collection
         $this->Configuration[$moduleName] = $configuration;
     }
 }
 /**
  * The constructor for the CoreConfigurationHandler
  * @param string $configurationFilePath
  */
 public function __construct($configurationFilePath)
 {
     //use the base calss to open the config file
     $xml = parent::SaveOpenConfigurationFile($configurationFilePath, "properties");
     //extract the name element and store it
     $this->Name = (string) $xml["name"];
     //loop around the properties
     foreach ($xml->properties->property as $property) {
         //swiftch on the name of the property
         switch ((string) $property["name"]) {
             case "ModulesDirectory":
                 $this->ModulesDirectory = dirname(__FILE__) . "/../.." . $property["value"];
                 break;
             case "CachingDirectory":
                 $this->CachingDirectory = dirname(__FILE__) . "/../.." . $property["value"];
                 break;
             case "BaseLanguageCode":
                 $this->BaseLanguageCode = (string) $property["value"];
                 break;
             case "EnableDebugLogging":
                 $value = (string) $property["value"];
                 $this->EnableDebugLogging = $value === "true";
                 break;
         }
     }
 }
 /**
  * Constructor for the PreProcessingStepsConfigurationHandler
  * @param string $configurationFilePath
  */
 public function __construct($configurationFilePath)
 {
     //Set the file name
     $this->configurationFilePath = $configurationFilePath;
     //Use the base class to open the xml
     $xml = parent::SaveOpenConfigurationFile($configurationFilePath, "preProcessingSteps");
     //Set the xml to class level
     $this->xml = $xml;
     //Set up the class level array to hold the pre processor configuration
     $this->PreProcessingSteps = array();
     //loop around the xml elements and add the confi t the array
     foreach ($xml->preProcessingSteps->step as $step) {
         $this->PreProcessingSteps[] = new \Swiftriver\Core\ObjectModel\PreProcessingStepEntry((string) $step["name"], (string) $step["className"], (string) $step["filePath"]);
     }
 }
 /**
  * Constructor for the DALConfigurationHandler
  * @param string $configurationFilePath
  */
 public function __construct($configurationFilePath)
 {
     //Use the base class to read in the configuration
     $xml = parent::SaveOpenConfigurationFile($configurationFilePath, "properties");
     //loop through the configuration properties
     foreach ($xml->properties->property as $property) {
         //Switch on the property name
         switch ((string) $property["name"]) {
             case "DataContextType":
                 $this->DataContextType = $property["value"];
                 break;
             case "DataContextPath":
                 $this->DataContextDirectory = $property["value"];
                 break;
         }
     }
 }
 /**
  * Constructior for the EventDistribution System
  * @param string $configurationFilePath
  */
 public function __construct($configurationFilePath)
 {
     //Set the file path
     $this->configurationFilePath = $configurationFilePath;
     //Use the base class to open the config file
     $xml = parent::SaveOpenConfigurationFile($configurationFilePath, "eventHandlers");
     //Set up the array to hold the event handlers
     $this->EventHandlers = array();
     //Loop around the configuration elements
     foreach ($xml->eventHandlers->handler as $handler) {
         //Get all the values from the configuration element
         $name = (string) $handler["name"];
         $classname = (string) $handler["className"];
         $handler = (string) $handler["filePath"];
         //Create a new EventHandlerEntry object
         $config = new \Swiftriver\Core\ObjectModel\EventHandlerEntry($name, $classname, $handler);
         //Add it to the array
         $this->EventHandlers[] = $config;
     }
 }