| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- Lib::loadClass('Data_Source');
- class DataSourceFactory {
- public static function buildFromZasobInfo($dsConfig) {
- if (empty($dsConfig['source_id'])) {
- throw new Exception("Source id not defined - can't create Data Source!");
- }
- if (empty($dsConfig['object_name'])) {
- throw new Exception("object name not defined - can't create Data Source!");
- }
- $dataSource = new Data_Source($dsConfig['source_id']);
- $dataSource->setTable($dsConfig['object_name']);
- if (!empty($dsConfig['fields'])) {
- $dataSource->setCols($dsConfig['fields']);
- }
- if (!empty($dsConfig['field_types'])) {
- $dataSource->setColTypes($dsConfig['field_types']);
- }
- if (!empty($dsConfig['fields_virtual'])) {
- $dataSource->setVirtualCols($dsConfig['fields_virtual']);
- }
- if (isset($dsConfig['acl_fltr_allowed'])) {
- $dataSource->setAccessFltrAllowed($dsConfig['acl_fltr_allowed']);
- }
- return $dataSource;
- }
- public static function buildFromZasobId($config) {
- throw new Exception("TODO: " . __CLASS__ . "::" . __FUNCTION__ . "() ...");
- }
- public static function buildFromXsd($config) {
- throw new Exception("TODO: " . __CLASS__ . "::" . __FUNCTION__ . "() ...");
- }
- }
|