Schema/Loader/AbstractLoader.php
protected function createSchemas(array $configuration)
    {
        $processor = new Processor();
        $processedConfiguration = $processor->processConfiguration(
            new SchemaConfiguration(),
            $configuration
        );

        $schemas = array();
        foreach ($processedConfiguration as $schemaName => $schemaConfig) {
            $schema = new Schema($schemaName, $schemaConfig['title']);
            foreach ($schemaConfig['groups'] as $groupName => $groupConfig) {
                $group = new Group($groupName, $groupConfig['title']);
                foreach ($groupConfig['characteristics'] as $characteristicName => $characteristicConfig) {
                    $fullName = implode(':', array($schemaName, $groupName, $characteristicName));

                    $this->validateDefinitionConfig($fullName, $characteristicConfig);

                    $definition = new Definition();
                    $definition
                        ->setName($characteristicName)
                        ->setFullName($fullName)
                        ->setType($characteristicConfig['type'])
                        ->setTitle($characteristicConfig['title'])
                        ->setShared($characteristicConfig['shared'])
                        ->setVirtual($characteristicConfig['virtual'])
                        ->setPropertyPaths($characteristicConfig['property_paths'])
                        ->setFormat($characteristicConfig['format'])
                        ->setDisplayGroups($characteristicConfig['display_groups'])
                    ;
                    $group->addDefinition($definition);
                }
                $schema->addGroup($group);
            }
            $schemas[] = $schema;
        }

        return $schemas;
    }
protected function createSchemas(array $configuration)
    {
        $processor = new Processor();
        $processedConfiguration = $processor->processConfiguration(
            new SchemaConfiguration(),
            $configuration
        );

        $schemas = array();
        foreach ($processedConfiguration as $schemaName => $schemaConfig) {
            $schema = new Schema($schemaName, $schemaConfig['title']);
            foreach ($schemaConfig['groups'] as $groupName => $groupConfig) {
                $group = new Group($groupName, $groupConfig['title']);
                foreach ($groupConfig['characteristics'] as $characteristicName => $characteristicConfig) {
                    $fullName = implode(':', array($schemaName, $groupName, $characteristicName));

                    $this->validateDefinitionConfig($fullName, $characteristicConfig);

                    $definition = new Definition();
                    $definition
                        ->setName($characteristicName)
                        ->setFullName($fullName)
                        ->setType($characteristicConfig['type'])
                        ->setTitle($characteristicConfig['title'])
                        ->setShared($characteristicConfig['shared'])
                        ->setVirtual($characteristicConfig['virtual'])
                        ->setPropertyPaths($characteristicConfig['property_paths'])
                        ->setFormat($characteristicConfig['format'])
                        ->setDisplayGroups($characteristicConfig['display_groups'])
                    ;
                    $group->addDefinition($definition);
                }
                $schema->addGroup($group);
            }
            $schemas[] = $schema;
        }

        return $schemas;
    }
protected function createSchemas ( array $ configuration ) { $ processor = new Processor ( ) ; $ processedConfiguration = $ processor -> processConfiguration ( new SchemaConfiguration ( ) , $ configuration ) ; $ schemas = array ( ) ; foreach ( $ processedConfiguration as $ schemaName => $ schemaConfig ) { $ schema = new Schema ( $ schemaName , $ schemaConfig [ 'title' ] ) ; foreach ( $ schemaConfig [ 'groups' ] as $ groupName => $ groupConfig ) { $ group = new Group ( $ groupName , $ groupConfig [ 'title' ] ) ; foreach ( $ groupConfig [ 'characteristics' ] as $ characteristicName => $ characteristicConfig ) { $ fullName = implode ( ':' , array ( $ schemaName , $ groupName , $ characteristicName ) ) ; $ this -> validateDefinitionConfig ( $ fullName , $ characteristicConfig ) ; $ definition = new Definition ( ) ; $ definition -> setName ( $ characteristicName ) -> setFullName ( $ fullName ) -> setType ( $ characteristicConfig [ 'type' ] ) -> setTitle ( $ characteristicConfig [ 'title' ] ) -> setShared ( $ characteristicConfig [ 'shared' ] ) -> setVirtual ( $ characteristicConfig [ 'virtual' ] ) -> setPropertyPaths ( $ characteristicConfig [ 'property_paths' ] ) -> setFormat ( $ characteristicConfig [ 'format' ] ) -> setDisplayGroups ( $ characteristicConfig [ 'display_groups' ] ) ; $ group -> addDefinition ( $ definition ) ; } $ schema -> addGroup ( $ group ) ; } $ schemas [ ] = $ schema ; } return $ schemas ; }
Creates and returns a Schema from the given configuration array.

@param array $configuration
@return Schema[]
Creates and returns a Schema from the given configuration array .