Code Duplication    Length = 18-18 lines in 2 locations

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

@@ 369-386 (lines=18) @@
366
        /* Add a discriminator value if the embedded document is not mapped
367
         * explicitly to a targetDocument class.
368
         */
369
        if ( ! isset($embeddedMapping['targetDocument'])) {
370
            $discriminatorField = $embeddedMapping['discriminatorField'];
371
            $discriminatorValue = isset($embeddedMapping['discriminatorMap'])
372
                ? array_search($class->name, $embeddedMapping['discriminatorMap'])
373
                : $class->name;
374
375
            /* If the discriminator value was not found in the map, use the full
376
             * class name. In the future, it may be preferable to throw an
377
             * exception here (perhaps based on some strictness option).
378
             *
379
             * @see DocumentManager::createDBRef()
380
             */
381
            if ($discriminatorValue === false) {
382
                $discriminatorValue = $class->name;
383
            }
384
385
            $embeddedDocumentValue[$discriminatorField] = $discriminatorValue;
386
        }
387
388
        /* If the class has a discriminator (field and value), use it. A child
389
         * class that is not defined in the discriminator map may only have a

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

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