PartKeepr\ImportBundle\Configuration\Configuration::parseConfiguration PHP Method

parseConfiguration() public method

public parseConfiguration ( $importConfiguration )
    public function parseConfiguration($importConfiguration)
    {
        if (property_exists($importConfiguration, "fields")) {
            foreach ($importConfiguration->fields as $field => $configuration) {
                if ($this->classMetadata->hasField($field)) {
                    $fieldConfiguration = new FieldConfiguration($this->classMetadata, $this->baseEntity, $this->reflectionService, $this->em, $this->advancedSearchFilter, $this->iriConverter);
                    $fieldConfiguration->setFieldName($field);
                    if ($fieldConfiguration->parseConfiguration($configuration) !== false) {
                        $this->fields[] = $fieldConfiguration;
                    }
                } else {
                    //throw new \Exception("Field $field not found in ".$this->baseEntity);
                }
            }
        }
        if (property_exists($importConfiguration, "manytoone")) {
            foreach ($importConfiguration->manytoone as $manyToOne => $configuration) {
                if ($this->classMetadata->hasAssociation($manyToOne)) {
                    $targetClass = $this->classMetadata->getAssociationTargetClass($manyToOne);
                    $cm = $this->em->getClassMetadata($targetClass);
                    $manyToOneconfiguration = new ManyToOneConfiguration($cm, $targetClass, $this->reflectionService, $this->em, $this->advancedSearchFilter, $this->iriConverter);
                    $manyToOneconfiguration->setAssociationName($manyToOne);
                    if ($manyToOneconfiguration->parseConfiguration($configuration) !== false) {
                        $this->manyToOneAssociations[] = $manyToOneconfiguration;
                    }
                } else {
                    //throw new \Exception("Association $manyToOne not found in ".$this->baseEntity);
                }
            }
        }
        if (property_exists($importConfiguration, "onetomany")) {
            foreach ($importConfiguration->onetomany as $oneToMany => $configuration) {
                if ($this->classMetadata->hasAssociation($oneToMany)) {
                    $targetClass = $this->classMetadata->getAssociationTargetClass($oneToMany);
                    $cm = $this->em->getClassMetadata($targetClass);
                    $oneToManyConfiguration = new OneToManyConfiguration($cm, $targetClass, $this->reflectionService, $this->em, $this->advancedSearchFilter, $this->iriConverter);
                    $oneToManyConfiguration->setAssociationName($oneToMany);
                    if ($oneToManyConfiguration->parseConfiguration($configuration) !== false) {
                        $this->oneToManyAssociations[] = $oneToManyConfiguration;
                    }
                } else {
                    //throw new \Exception("Association $oneToMany not found in ".$this->baseEntity);
                }
            }
        }
        return true;
    }

Usage Example

Exemplo n.º 1
0
 public function parseConfiguration()
 {
     $cm = $this->em->getClassMetadata($this->baseEntity);
     $configuration = new Configuration($cm, $this->baseEntity, $this->reflectionService, $this->em, $this->advancedSearchFilter, $this->iriConverter);
     $configuration->parseConfiguration($this->importConfiguration);
     return $configuration;
 }