| 
                                
                                    @@ 2066-2099 (lines=34) @@
                                 | 
                            
                                                            
                                    | 2063 | 
                                     | 
                                         *  | 
                                
                                                            
                                    | 2064 | 
                                     | 
                                         * @return void  | 
                                
                                                            
                                    | 2065 | 
                                     | 
                                         */  | 
                                
                                                            
                                    | 2066 | 
                                     | 
                                        private function cascadeRefresh($entity, array &$visited)  | 
                                
                                                            
                                    | 2067 | 
                                     | 
                                        { | 
                                
                                                            
                                    | 2068 | 
                                     | 
                                            $class = $this->em->getClassMetadata(get_class($entity));  | 
                                
                                                            
                                    | 2069 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2070 | 
                                     | 
                                            $associationMappings = array_filter(  | 
                                
                                                            
                                    | 2071 | 
                                     | 
                                                $class->associationMappings,  | 
                                
                                                            
                                    | 2072 | 
                                     | 
                                                function ($assoc) { return $assoc['isCascadeRefresh']; } | 
                                
                                                            
                                    | 2073 | 
                                     | 
                                            );  | 
                                
                                                            
                                    | 2074 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2075 | 
                                     | 
                                            foreach ($associationMappings as $assoc) { | 
                                
                                                            
                                    | 2076 | 
                                     | 
                                                $relatedEntities = $class->reflFields[$assoc['fieldName']]->getValue($entity);  | 
                                
                                                            
                                    | 2077 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2078 | 
                                     | 
                                                switch (true) { | 
                                
                                                            
                                    | 2079 | 
                                     | 
                                                    case ($relatedEntities instanceof PersistentCollection):  | 
                                
                                                            
                                    | 2080 | 
                                     | 
                                                        // Unwrap so that foreach() does not initialize  | 
                                
                                                            
                                    | 2081 | 
                                     | 
                                                        $relatedEntities = $relatedEntities->unwrap();  | 
                                
                                                            
                                    | 2082 | 
                                     | 
                                                        // break; is commented intentionally!  | 
                                
                                                            
                                    | 2083 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2084 | 
                                     | 
                                                    case ($relatedEntities instanceof Collection):  | 
                                
                                                            
                                    | 2085 | 
                                     | 
                                                    case (is_array($relatedEntities)):  | 
                                
                                                            
                                    | 2086 | 
                                     | 
                                                        foreach ($relatedEntities as $relatedEntity) { | 
                                
                                                            
                                    | 2087 | 
                                     | 
                                                            $this->doRefresh($relatedEntity, $visited);  | 
                                
                                                            
                                    | 2088 | 
                                     | 
                                                        }  | 
                                
                                                            
                                    | 2089 | 
                                     | 
                                                        break;  | 
                                
                                                            
                                    | 2090 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2091 | 
                                     | 
                                                    case ($relatedEntities !== null):  | 
                                
                                                            
                                    | 2092 | 
                                     | 
                                                        $this->doRefresh($relatedEntities, $visited);  | 
                                
                                                            
                                    | 2093 | 
                                     | 
                                                        break;  | 
                                
                                                            
                                    | 2094 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2095 | 
                                     | 
                                                    default:  | 
                                
                                                            
                                    | 2096 | 
                                     | 
                                                        // Do nothing  | 
                                
                                                            
                                    | 2097 | 
                                     | 
                                                }  | 
                                
                                                            
                                    | 2098 | 
                                     | 
                                            }  | 
                                
                                                            
                                    | 2099 | 
                                     | 
                                        }  | 
                                
                                                            
                                    | 2100 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2101 | 
                                     | 
                                        /**  | 
                                
                                                            
                                    | 2102 | 
                                     | 
                                         * Cascades a detach operation to associated entities.  | 
                                
                                                                                
                                 | 
                                
                                    @@ 2109-2142 (lines=34) @@
                                 | 
                            
                                                            
                                    | 2106 | 
                                     | 
                                         *  | 
                                
                                                            
                                    | 2107 | 
                                     | 
                                         * @return void  | 
                                
                                                            
                                    | 2108 | 
                                     | 
                                         */  | 
                                
                                                            
                                    | 2109 | 
                                     | 
                                        private function cascadeDetach($entity, array &$visited)  | 
                                
                                                            
                                    | 2110 | 
                                     | 
                                        { | 
                                
                                                            
                                    | 2111 | 
                                     | 
                                            $class = $this->em->getClassMetadata(get_class($entity));  | 
                                
                                                            
                                    | 2112 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2113 | 
                                     | 
                                            $associationMappings = array_filter(  | 
                                
                                                            
                                    | 2114 | 
                                     | 
                                                $class->associationMappings,  | 
                                
                                                            
                                    | 2115 | 
                                     | 
                                                function ($assoc) { return $assoc['isCascadeDetach']; } | 
                                
                                                            
                                    | 2116 | 
                                     | 
                                            );  | 
                                
                                                            
                                    | 2117 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2118 | 
                                     | 
                                            foreach ($associationMappings as $assoc) { | 
                                
                                                            
                                    | 2119 | 
                                     | 
                                                $relatedEntities = $class->reflFields[$assoc['fieldName']]->getValue($entity);  | 
                                
                                                            
                                    | 2120 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2121 | 
                                     | 
                                                switch (true) { | 
                                
                                                            
                                    | 2122 | 
                                     | 
                                                    case ($relatedEntities instanceof PersistentCollection):  | 
                                
                                                            
                                    | 2123 | 
                                     | 
                                                        // Unwrap so that foreach() does not initialize  | 
                                
                                                            
                                    | 2124 | 
                                     | 
                                                        $relatedEntities = $relatedEntities->unwrap();  | 
                                
                                                            
                                    | 2125 | 
                                     | 
                                                        // break; is commented intentionally!  | 
                                
                                                            
                                    | 2126 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2127 | 
                                     | 
                                                    case ($relatedEntities instanceof Collection):  | 
                                
                                                            
                                    | 2128 | 
                                     | 
                                                    case (is_array($relatedEntities)):  | 
                                
                                                            
                                    | 2129 | 
                                     | 
                                                        foreach ($relatedEntities as $relatedEntity) { | 
                                
                                                            
                                    | 2130 | 
                                     | 
                                                            $this->doDetach($relatedEntity, $visited);  | 
                                
                                                            
                                    | 2131 | 
                                     | 
                                                        }  | 
                                
                                                            
                                    | 2132 | 
                                     | 
                                                        break;  | 
                                
                                                            
                                    | 2133 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2134 | 
                                     | 
                                                    case ($relatedEntities !== null):  | 
                                
                                                            
                                    | 2135 | 
                                     | 
                                                        $this->doDetach($relatedEntities, $visited);  | 
                                
                                                            
                                    | 2136 | 
                                     | 
                                                        break;  | 
                                
                                                            
                                    | 2137 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2138 | 
                                     | 
                                                    default:  | 
                                
                                                            
                                    | 2139 | 
                                     | 
                                                        // Do nothing  | 
                                
                                                            
                                    | 2140 | 
                                     | 
                                                }  | 
                                
                                                            
                                    | 2141 | 
                                     | 
                                            }  | 
                                
                                                            
                                    | 2142 | 
                                     | 
                                        }  | 
                                
                                                            
                                    | 2143 | 
                                     | 
                                     | 
                                
                                                            
                                    | 2144 | 
                                     | 
                                        /**  | 
                                
                                                            
                                    | 2145 | 
                                     | 
                                         * Cascades a merge operation to associated entities.  |