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