public function load(AbstractMetaModel $environment_metamodel, array $filters = NULL) { LogHelper::log_notice(t('Generating Environment Meta Model for Drupal database connections ...')); global $databases; $datasourceCount = 0; foreach ($databases as $namespace => $connections) { foreach ($connections as $datasourceNameOnly => $connection) { $datasource = new DataSourceMetaData(); $datasource->name = NameSpaceHelper::addNameSpace($namespace, $datasourceNameOnly); $datasource->markAsPrivate(); $datasource->readonly = FALSE; // setting required properties $this->setDataSourceProperty($datasource, $connection, 'type', 'driver'); // setting other provided properties $this->setDataSourceExtensionProperties($datasource, $connection); // registering the data source $environment_metamodel->registerDataSource($datasource); $datasourceCount++; } } // Default database connection is shared because we store common utilities and dimensions there $defaultDataSource = $environment_metamodel->getDataSource(self::$DATASOURCE_NAME__DEFAULT); $defaultDataSource->shared = TRUE; LogHelper::log_info(t('Generated @datasourceCount data sources', array('@datasourceCount' => $datasourceCount))); }
public function load(AbstractMetaModel $environment_metamodel, array $filters = NULL) { LogHelper::log_notice(t('Loading Environment Meta Model from settings.php ...')); $datasourceCount = 0; $configurationDataSources = Environment::getInstance()->getConfigurationSection('Data Sources'); if (isset($configurationDataSources)) { foreach ($configurationDataSources as $namespace => $sourceDataSources) { foreach ($sourceDataSources as $datasourceName => $sourceDataSource) { $datasourceName = NameSpaceHelper::resolveNameSpace($namespace, $datasourceName); $datasource = new DataSourceMetaData(); $datasource->name = $datasourceName; $datasource->initializeFrom($sourceDataSource); // it is possible that configuration contains 'readonly' property. We need to honor it // ... and only when it is not set we mark the data source as read only if (!isset($datasource->readonly)) { $datasource->readonly = TRUE; } $environment_metamodel->registerDataSource($datasource); $datasourceCount++; } } } LogHelper::log_info(t('Processed @datasourceCount data sources', array('@datasourceCount' => $datasourceCount))); }
public function load(AbstractMetaModel $environment_metamodel, array $filters = NULL) { LogHelper::log_notice(t('Generating Environment Meta Model for APC cache ...')); $datasourceCount = 0; $datasource = new DataSourceMetaData(); $datasource->name = NameSpaceHelper::addNameSpace(APCHandler::CACHE__TYPE, 'default'); $datasource->type = APCHandler::CACHE__TYPE; $datasource->category = CacheFactory::$DATASOURCE__CATEGORY; $datasource->markAsPrivate(); $environment_metamodel->registerDataSource($datasource); $datasourceCount++; LogHelper::log_info(t('Generated @datasourceCount data sources', array('@datasourceCount' => $datasourceCount))); }
public static function prepareDataSource(EnvironmentMetaModel $environment_metamodel, $datamartNode) { $datasource = new DataSourceMetaData(); $datasource->name = self::prepareDataSourceName($datamartNode); $datasource->publicName = $datamartNode->title; $datasource->description = get_node_field_value($datamartNode, 'field_datamart_desc'); $datasource->parentName = get_node_field_value($datamartNode, 'field_datamart_parent_sysname'); $datasource->type = get_node_field_value($datamartNode, 'field_datamart_type'); $datasource->readonly = get_node_field_boolean_value($datamartNode, 'field_datamart_readonly'); $datasource->initializeFrom(get_node_field_object_value($datamartNode, 'field_datamart_options')); // datasource system properties $datasource->nid = $datamartNode->nid; // marking as public to prevent the property from being populated from parent data source (which can be private) $datasource->markAsPublic(); $environment_metamodel->registerDataSource($datasource); return $datasource; }
public function load(AbstractMetaModelFactory $factory, AbstractMetaModel $environment_metamodel, array $filters = NULL, $finalAttempt) { LogHelper::log_notice(t('Loading Environment Meta Model from settings.php ...')); $datasourceCount = 0; $configurationDataSources = Environment::getInstance()->getConfigurationSection('Data Sources'); if (isset($configurationDataSources)) { foreach ($configurationDataSources as $namespace => $sourceDataSources) { foreach ($sourceDataSources as $datasourceName => $sourceDataSource) { $datasourceName = NameSpaceHelper::resolveNameSpace($namespace, $datasourceName); $datasource = new DataSourceMetaData(); $datasource->name = $datasourceName; $datasource->system = TRUE; $datasource->readonly = TRUE; $datasource->initializeFrom($sourceDataSource); $environment_metamodel->registerDataSource($datasource); $datasourceCount++; } } } LogHelper::log_info(t('Processed @datasourceCount data sources', array('@datasourceCount' => $datasourceCount))); return self::LOAD_STATE__SUCCESSFUL; }
protected function isCacheSupported(DataSourceMetaData $datasource) { return $datasource->isReadOnly() && (isset($datasource->cachable) ? $datasource->cachable : FALSE); }