public function createDataCollection(string $resourceFolder) : DataCollection
    {
        $this->logger->debug('add platform file');
        $this->addPlatformsFile($resourceFolder . '/platforms.json');

        $this->logger->debug('add engine file');
        $this->addEnginesFile($resourceFolder . '/engines.json');

        $this->logger->debug('add file for default properties');
        $this->setDefaultProperties($resourceFolder . '/core/default-properties.json');

        $this->logger->debug('add file for default browser');
        $this->setDefaultBrowser($resourceFolder . '/core/default-browser.json');

        $deviceDirectory = $resourceFolder . '/devices';

        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($deviceDirectory)) as $file) {
            /** @var $file \SplFileInfo */
            if (!$file->isFile() || 'json' !== $file->getExtension()) {
                continue;
            }

            $this->logger->debug('add device file ' . $file->getPathname());
            $this->addDevicesFile($file->getPathname());
        }

        $browserDirectory = $resourceFolder . '/browsers';

        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($browserDirectory)) as $file) {
            /** @var $file \SplFileInfo */
            if (!$file->isFile() || 'json' !== $file->getExtension()) {
                continue;
            }

            $this->logger->debug('add browser file ' . $file->getPathname());
            $this->addBrowserFile($file->getPathname());
        }

        $uaSourceDirectory = $resourceFolder . '/user-agents';

        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($uaSourceDirectory)) as $file) {
            /** @var $file \SplFileInfo */
            if (!$file->isFile() || 'json' !== $file->getExtension()) {
                continue;
            }

            $this->logger->debug('add source file ' . $file->getPathname());
            $this->addSourceFile($file->getPathname());
        }

        return $this->collection;
    }
public function createDataCollection(string $resourceFolder) : DataCollection
    {
        $this->logger->debug('add platform file');
        $this->addPlatformsFile($resourceFolder . '/platforms.json');

        $this->logger->debug('add engine file');
        $this->addEnginesFile($resourceFolder . '/engines.json');

        $this->logger->debug('add file for default properties');
        $this->setDefaultProperties($resourceFolder . '/core/default-properties.json');

        $this->logger->debug('add file for default browser');
        $this->setDefaultBrowser($resourceFolder . '/core/default-browser.json');

        $deviceDirectory = $resourceFolder . '/devices';

        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($deviceDirectory)) as $file) {
            /** @var $file \SplFileInfo */
            if (!$file->isFile() || 'json' !== $file->getExtension()) {
                continue;
            }

            $this->logger->debug('add device file ' . $file->getPathname());
            $this->addDevicesFile($file->getPathname());
        }

        $browserDirectory = $resourceFolder . '/browsers';

        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($browserDirectory)) as $file) {
            /** @var $file \SplFileInfo */
            if (!$file->isFile() || 'json' !== $file->getExtension()) {
                continue;
            }

            $this->logger->debug('add browser file ' . $file->getPathname());
            $this->addBrowserFile($file->getPathname());
        }

        $uaSourceDirectory = $resourceFolder . '/user-agents';

        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($uaSourceDirectory)) as $file) {
            /** @var $file \SplFileInfo */
            if (!$file->isFile() || 'json' !== $file->getExtension()) {
                continue;
            }

            $this->logger->debug('add source file ' . $file->getPathname());
            $this->addSourceFile($file->getPathname());
        }

        return $this->collection;
    }
public function createDataCollection ( string $ resourceFolder ) : DataCollection { $ this -> logger -> debug ( 'add platform file' ) ; $ this -> addPlatformsFile ( $ resourceFolder . '/platforms.json' ) ; $ this -> logger -> debug ( 'add engine file' ) ; $ this -> addEnginesFile ( $ resourceFolder . '/engines.json' ) ; $ this -> logger -> debug ( 'add file for default properties' ) ; $ this -> setDefaultProperties ( $ resourceFolder . '/core/default-properties.json' ) ; $ this -> logger -> debug ( 'add file for default browser' ) ; $ this -> setDefaultBrowser ( $ resourceFolder . '/core/default-browser.json' ) ; $ deviceDirectory = $ resourceFolder . '/devices' ; foreach ( new \ RecursiveIteratorIterator ( new \ RecursiveDirectoryIterator ( $ deviceDirectory ) ) as $ file ) { /** @var $file \SplFileInfo */ if ( ! $ file -> isFile ( ) || 'json' !== $ file -> getExtension ( ) ) { continue ; } $ this -> logger -> debug ( 'add device file ' . $ file -> getPathname ( ) ) ; $ this -> addDevicesFile ( $ file -> getPathname ( ) ) ; } $ browserDirectory = $ resourceFolder . '/browsers' ; foreach ( new \ RecursiveIteratorIterator ( new \ RecursiveDirectoryIterator ( $ browserDirectory ) ) as $ file ) { /** @var $file \SplFileInfo */ if ( ! $ file -> isFile ( ) || 'json' !== $ file -> getExtension ( ) ) { continue ; } $ this -> logger -> debug ( 'add browser file ' . $ file -> getPathname ( ) ) ; $ this -> addBrowserFile ( $ file -> getPathname ( ) ) ; } $ uaSourceDirectory = $ resourceFolder . '/user-agents' ; foreach ( new \ RecursiveIteratorIterator ( new \ RecursiveDirectoryIterator ( $ uaSourceDirectory ) ) as $ file ) { /** @var $file \SplFileInfo */ if ( ! $ file -> isFile ( ) || 'json' !== $ file -> getExtension ( ) ) { continue ; } $ this -> logger -> debug ( 'add source file ' . $ file -> getPathname ( ) ) ; $ this -> addSourceFile ( $ file -> getPathname ( ) ) ; } return $ this -> collection ; }
Create and populate a data collection object from a resource folder

@param string $resourceFolder

@throws \Assert\AssertionFailedException
@throws \RuntimeException
@throws \UnexpectedValueException

@return DataCollection
Create and populate a data collection object from a resource folder