Code Duplication    Length = 18-20 lines in 2 locations

lib/Doctrine/ODM/MongoDB/Aggregation/Stage/GraphLookup.php 1 location

@@ 122-139 (lines=18) @@
119
            }
120
121
            parent::connectFromField($referencedFieldName);
122
        } else {
123
            if (isset($referenceMapping['repositoryMethod'])) {
124
                throw MappingException::repositoryMethodLookupNotAllowed($this->class->name, $connectFromField);
125
            }
126
127
            $mappedByMapping = $this->targetClass->getFieldMapping($referenceMapping['mappedBy']);
128
            switch ($mappedByMapping['storeAs']) {
129
                case ClassMetadataInfo::REFERENCE_STORE_AS_ID:
130
                case ClassMetadataInfo::REFERENCE_STORE_AS_REF:
131
                    $referencedFieldName = ClassMetadataInfo::getReferenceFieldName($mappedByMapping['storeAs'], $mappedByMapping['name']);
132
                    break;
133
134
                default:
135
                    throw MappingException::cannotLookupDbRefReference($this->class->name, $connectFromField);
136
            }
137
138
            parent::connectFromField($referencedFieldName);
139
        }
140
141
        return $this;
142
    }

lib/Doctrine/ODM/MongoDB/Aggregation/Stage/Lookup.php 1 location

@@ 126-145 (lines=20) @@
123
            $this
124
                ->foreignField('_id')
125
                ->localField($referencedFieldName);
126
        } else {
127
            if (isset($referenceMapping['repositoryMethod'])) {
128
                throw MappingException::repositoryMethodLookupNotAllowed($this->class->name, $fieldName);
129
            }
130
131
            $mappedByMapping = $this->targetClass->getFieldMapping($referenceMapping['mappedBy']);
132
            switch ($mappedByMapping['storeAs']) {
133
                case ClassMetadataInfo::REFERENCE_STORE_AS_ID:
134
                case ClassMetadataInfo::REFERENCE_STORE_AS_REF:
135
                    $referencedFieldName = ClassMetadataInfo::getReferenceFieldName($mappedByMapping['storeAs'], $mappedByMapping['name']);
136
                    break;
137
138
                default:
139
                    throw MappingException::cannotLookupDbRefReference($this->class->name, $fieldName);
140
            }
141
142
            $this
143
                ->localField('_id')
144
                ->foreignField($referencedFieldName);
145
        }
146
147
        return $this;
148
    }