From eccec87796d5437aed635e9f482ba1d7f4d35527 Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sat, 2 Jul 2016 23:47:21 +0300 Subject: [PATCH 01/10] clear code --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 5fa8f9e07..1d618c2da 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1465,8 +1465,7 @@ class ClassMetadataInfo implements ClassMetadata $mapping['isOwningSide'] = true; // assume owning side until we hit mappedBy - // unset optional indexBy attribute if its empty - if ( ! isset($mapping['indexBy']) || !$mapping['indexBy']) { + if (empty($mapping['indexBy'])) { unset($mapping['indexBy']); } From 2301fb3ff212bfb2265a65a09bbe7783c4f1201f Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sat, 2 Jul 2016 23:53:23 +0300 Subject: [PATCH 02/10] move common cascades --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 1d618c2da..49a4200a0 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1543,13 +1543,14 @@ class ClassMetadataInfo implements ClassMetadata // Cascades $cascades = isset($mapping['cascade']) ? array_map('strtolower', $mapping['cascade']) : array(); + $allCascades = array('remove', 'persist', 'refresh', 'merge', 'detach'); if (in_array('all', $cascades)) { - $cascades = array('remove', 'persist', 'refresh', 'merge', 'detach'); + $cascades = $allCascades; } - if (count($cascades) !== count(array_intersect($cascades, array('remove', 'persist', 'refresh', 'merge', 'detach')))) { + if (count($cascades) !== count(array_intersect($cascades, $allCascades))) { throw MappingException::invalidCascadeOption( - array_diff($cascades, array_intersect($cascades, array('remove', 'persist', 'refresh', 'merge', 'detach'))), + array_diff($cascades, array_intersect($cascades, $allCascades)), $this->name, $mapping['fieldName'] ); From f7317d700ce5f253d65e46d02a685e7ec41ae573 Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sat, 2 Jul 2016 23:58:29 +0300 Subject: [PATCH 03/10] logical remove double condition --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 49a4200a0..3fc70c26c 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1546,11 +1546,9 @@ class ClassMetadataInfo implements ClassMetadata $allCascades = array('remove', 'persist', 'refresh', 'merge', 'detach'); if (in_array('all', $cascades)) { $cascades = $allCascades; - } - - if (count($cascades) !== count(array_intersect($cascades, $allCascades))) { + } elseif (count($cascades) !== count(array_intersect($cascades, $allCascades))) { throw MappingException::invalidCascadeOption( - array_diff($cascades, array_intersect($cascades, $allCascades)), + array_diff($cascades, $allCascades), $this->name, $mapping['fieldName'] ); From b108a2af52da928f5d55b30606eb1096f023b7b9 Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sun, 3 Jul 2016 00:01:07 +0300 Subject: [PATCH 04/10] merge conditions --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 3fc70c26c..b3a545b69 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1583,7 +1583,7 @@ class ClassMetadataInfo implements ClassMetadata } if ($mapping['isOwningSide']) { - if ( ! isset($mapping['joinColumns']) || ! $mapping['joinColumns']) { + if (empty($mapping['joinColumns'])) { // Apply default join column $mapping['joinColumns'] = array( array( From a81458a0aaa2610a5b47d7c261d379b0dc074164 Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sun, 3 Jul 2016 00:05:31 +0300 Subject: [PATCH 05/10] 1. merge conditions 2. convert `if` to `condition` --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index b3a545b69..9ba2a0447 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1597,8 +1597,8 @@ class ClassMetadataInfo implements ClassMetadata foreach ($mapping['joinColumns'] as &$joinColumn) { if ($mapping['type'] === self::ONE_TO_ONE && ! $this->isInheritanceTypeSingleTable()) { - if (count($mapping['joinColumns']) == 1) { - if ( ! isset($mapping['id']) || ! $mapping['id']) { + if (count($mapping['joinColumns']) === 1) { + if (empty($mapping['id'])) { $joinColumn['unique'] = true; } } else { @@ -1643,8 +1643,8 @@ class ClassMetadataInfo implements ClassMetadata $mapping['targetToSourceKeyColumns'] = array_flip($mapping['sourceToTargetKeyColumns']); } - $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false; - $mapping['isCascadeRemove'] = $mapping['orphanRemoval'] ? true : $mapping['isCascadeRemove']; + $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) && $mapping['orphanRemoval']; + $mapping['isCascadeRemove'] = $mapping['orphanRemoval'] || $mapping['isCascadeRemove']; if ($mapping['orphanRemoval']) { unset($mapping['unique']); From 511b27517a4381ff9feef8db650d0297d09cea7a Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sun, 3 Jul 2016 00:10:43 +0300 Subject: [PATCH 06/10] refactoring: extract method --- .../ORM/Mapping/ClassMetadataInfo.php | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 9ba2a0447..2735bc7b5 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1679,11 +1679,7 @@ class ClassMetadataInfo implements ClassMetadata $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false; $mapping['isCascadeRemove'] = $mapping['orphanRemoval'] ? true : $mapping['isCascadeRemove']; - if (isset($mapping['orderBy'])) { - if ( ! is_array($mapping['orderBy'])) { - throw new InvalidArgumentException("'orderBy' is expected to be an array, not ".gettype($mapping['orderBy'])); - } - } + $this->assertMappingOrderBy($mapping); return $mapping; } @@ -1789,11 +1785,7 @@ class ClassMetadataInfo implements ClassMetadata $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false; - if (isset($mapping['orderBy'])) { - if ( ! is_array($mapping['orderBy'])) { - throw new InvalidArgumentException("'orderBy' is expected to be an array, not ".gettype($mapping['orderBy'])); - } - } + $this->assertMappingOrderBy($mapping); return $mapping; } @@ -3388,4 +3380,14 @@ class ClassMetadataInfo implements ClassMetadata return $sequencePrefix; } + + /** + * @param array $mapping + */ + private function assertMappingOrderBy(array $mapping) + { + if (isset($mapping['orderBy']) && !is_array($mapping['orderBy'])) { + throw new InvalidArgumentException("'orderBy' is expected to be an array, not " . gettype($mapping['orderBy'])); + } + } } From 0e8491a4747c5d555374b4b4498db1c0629f56d0 Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sun, 3 Jul 2016 00:11:44 +0300 Subject: [PATCH 07/10] clear code --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 2735bc7b5..8c82ac155 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1676,8 +1676,8 @@ class ClassMetadataInfo implements ClassMetadata throw MappingException::oneToManyRequiresMappedBy($mapping['fieldName']); } - $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false; - $mapping['isCascadeRemove'] = $mapping['orphanRemoval'] ? true : $mapping['isCascadeRemove']; + $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) && $mapping['orphanRemoval']; + $mapping['isCascadeRemove'] = $mapping['orphanRemoval'] || $mapping['isCascadeRemove']; $this->assertMappingOrderBy($mapping); From 1dba0b85454ca208f7f975f2cb2b8db45d67f408 Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sun, 3 Jul 2016 00:14:33 +0300 Subject: [PATCH 08/10] clear code --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 8c82ac155..d828335ca 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -1783,7 +1783,7 @@ class ClassMetadataInfo implements ClassMetadata } } - $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) ? (bool) $mapping['orphanRemoval'] : false; + $mapping['orphanRemoval'] = isset($mapping['orphanRemoval']) && $mapping['orphanRemoval']; $this->assertMappingOrderBy($mapping); From 99b1eaaabbdac5cefd2204b0d988ada5f2d485c7 Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sun, 3 Jul 2016 00:17:51 +0300 Subject: [PATCH 09/10] clear code - double condition after isset --- lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index d828335ca..53eedacca 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -2203,11 +2203,11 @@ class ClassMetadataInfo implements ClassMetadata $overrideMapping['id'] = $mapping['id']; } - if ( ! isset($overrideMapping['type']) || $overrideMapping['type'] === null) { + if ( ! isset($overrideMapping['type'])) { $overrideMapping['type'] = $mapping['type']; } - if ( ! isset($overrideMapping['fieldName']) || $overrideMapping['fieldName'] === null) { + if ( ! isset($overrideMapping['fieldName'])) { $overrideMapping['fieldName'] = $mapping['fieldName']; } From f7c16ab364bb4801f176eb20342adfe08f812bec Mon Sep 17 00:00:00 2001 From: ReenExe Date: Sun, 3 Jul 2016 00:21:00 +0300 Subject: [PATCH 10/10] remove `else` --- .../ORM/Mapping/ClassMetadataInfo.php | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php index 53eedacca..9e036b652 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php @@ -2943,17 +2943,17 @@ class ClassMetadataInfo implements ClassMetadata { if (isset($this->fieldNames[$columnName])) { return $this->fieldNames[$columnName]; - } else { - foreach ($this->associationMappings as $assocName => $mapping) { - if ($this->isAssociationWithSingleJoinColumn($assocName) && - $this->associationMappings[$assocName]['joinColumns'][0]['name'] == $columnName) { - - return $assocName; - } - } - - throw MappingException::noFieldNameFoundForColumn($this->name, $columnName); } + + foreach ($this->associationMappings as $assocName => $mapping) { + if ($this->isAssociationWithSingleJoinColumn($assocName) && + $this->associationMappings[$assocName]['joinColumns'][0]['name'] == $columnName) { + + return $assocName; + } + } + + throw MappingException::noFieldNameFoundForColumn($this->name, $columnName); } /**