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; }