Esempio n. 1
0
 protected function getDbalComponentByProjection(ProjectionTypeInterface $projection_type, $projection_name, $component)
 {
     $component_key = sprintf('%s::projection.%s::view_store::%s', $projection_type->getPrefix(), $projection_name, $component);
     switch ($component) {
         case 'finder':
             return $this->getFinder($component_key);
             break;
         case 'reader':
             return $this->getStorageReader($component_key);
             break;
         case 'writer':
             return $this->getStorageWriter($component_key);
             break;
     }
     throw new RuntimeError(sprintf('Invalid dbal component given: %s. Supported components are: "finder", "reader" and "writer".', $component));
 }
Esempio n. 2
0
 protected function getDataAccessComponent(ProjectionTypeInterface $projection_type, $component = 'reader')
 {
     $default_component_name = sprintf('%s::view_store::%s', $projection_type->getVariantPrefix(), $component);
     $custom_component_option = $projection_type->getPrefix() . '.' . $component;
     switch ($component) {
         case 'finder':
             return $this->data_access_service->getFinder($this->config->get($custom_component_option, $default_component_name));
             break;
         case 'reader':
             return $this->data_access_service->getStorageReader($this->config->get($custom_component_option, $default_component_name));
             break;
         case 'writer':
             return $this->data_access_service->getStorageWriter($this->config->get($custom_component_option, $default_component_name));
             break;
     }
     throw new RuntimeError('Invalid data access component name given: ' . $component);
 }