Code Duplication    Length = 18-18 lines in 2 locations

lib/Doctrine/ODM/MongoDB/Persisters/PersistenceBuilder.php 1 location

@@ 390-407 (lines=18) @@
387
        /* Add a discriminator value if the embedded document is not mapped
388
         * explicitly to a targetDocument class.
389
         */
390
        if ( ! isset($embeddedMapping['targetDocument'])) {
391
            $discriminatorField = $embeddedMapping['discriminatorField'];
392
            $discriminatorValue = isset($embeddedMapping['discriminatorMap'])
393
                ? array_search($class->name, $embeddedMapping['discriminatorMap'])
394
                : $class->name;
395
396
            /* If the discriminator value was not found in the map, use the full
397
             * class name. In the future, it may be preferable to throw an
398
             * exception here (perhaps based on some strictness option).
399
             *
400
             * @see DocumentManager::createDBRef()
401
             */
402
            if ($discriminatorValue === false) {
403
                $discriminatorValue = $class->name;
404
            }
405
406
            $embeddedDocumentValue[$discriminatorField] = $discriminatorValue;
407
        }
408
409
        /* If the class has a discriminator (field and value), use it. A child
410
         * class that is not defined in the discriminator map may only have a

lib/Doctrine/ODM/MongoDB/DocumentManager.php 1 location

@@ 727-744 (lines=18) @@
724
        /* Add a discriminator value if the referenced document is not mapped
725
         * explicitly to a targetDocument class.
726
         */
727
        if ($referenceMapping !== null && ! isset($referenceMapping['targetDocument'])) {
728
            $discriminatorField = $referenceMapping['discriminatorField'];
729
            $discriminatorValue = isset($referenceMapping['discriminatorMap'])
730
                ? array_search($class->name, $referenceMapping['discriminatorMap'])
731
                : $class->name;
732
733
            /* If the discriminator value was not found in the map, use the full
734
             * class name. In the future, it may be preferable to throw an
735
             * exception here (perhaps based on some strictness option).
736
             *
737
             * @see PersistenceBuilder::prepareEmbeddedDocumentValue()
738
             */
739
            if ($discriminatorValue === false) {
740
                $discriminatorValue = $class->name;
741
            }
742
743
            $dbRef[$discriminatorField] = $discriminatorValue;
744
        }
745
746
        return $dbRef;
747
    }