/** * Parses the application configuration * * @param ReaderInterface $reader * * @return Configuration the parsed configuration * @throws InvalidConfigurationException if the configuration couldn't be parsed and validated */ public static function parseConfiguration(ReaderInterface $reader) { $configuration = $reader->readConfiguration(); // Validate the configuration $validator = new Validator($configuration); $validator->validate(); // Create the configuration object $config = new Configuration(); $config->setDatabasePath($configuration['database_path'])->setLogPath($configuration['log_path'])->setInstances(self::parseInstances($configuration))->setAccessToken($configuration['access_token'])->setUpdateInterval($configuration['update_interval'])->setListenAddress($configuration['listen_address'])->setListenPort($configuration['listen_port'])->setHttpListenPort($configuration['http_listen_port'])->setHttpUsername($configuration['http_username'])->setHttpPassword($configuration['http_password']); return $config; }
/** * @return Instance */ protected function getTestInstance() { $instances = $this->configuration->getInstances(); return $instances[0]; }
/** * Configures the database * * @param Configuration $configuration * @param LoggerInterface $logger */ private function configurePropel(Configuration $configuration, LoggerInterface $logger) { $connectionName = 'tvheadend_status_manager'; /* @var StandardServiceContainer $serviceContainer */ $serviceContainer = Propel::getServiceContainer(); $serviceContainer->checkVersion('2.0.0-dev'); $serviceContainer->setAdapterClass($connectionName, 'sqlite'); $manager = new ConnectionManagerSingle(); $manager->setConfiguration(['classname' => 'Propel\\Runtime\\Connection\\ConnectionWrapper', 'dsn' => 'sqlite:' . $configuration->getDatabasePath(), 'user' => null, 'password' => '', 'attributes' => ['ATTR_EMULATE_PREPARES' => false], 'settings' => ['charset' => 'utf8', 'queries' => []]]); $manager->setName($connectionName); $serviceContainer->setConnectionManager($connectionName, $manager); $serviceContainer->setDefaultDatasource($connectionName); $serviceContainer->setLogger($connectionName, $logger); }