Code Duplication    Length = 27-27 lines in 2 locations

src/Factory/ServiceFactory.php 1 location

@@ 89-115 (lines=27) @@
86
     * @param object $config configuration object to create argument from.
87
     * @return mixed build argument
88
     */
89
    protected function buildArg($config){
90
        if(trim((string)$config['value']) != ''){
91
            $arg = (string)$config['value'];
92
        }elseif($config->getName() == 'value'){
93
            $arg = (string)$config;
94
        }elseif($config->getName() == 'list'){
95
            $arg = array();
96
            foreach($config->children() as $entry){
97
                if($entry->getName() == 'value'){
98
                    if($entry['key']){
99
                        $arg[(string)$entry['key']] = (string)$entry;
100
                    }else{
101
                        $arg[] = (string)$entry;
102
                    }
103
                }elseif($entry->getName() == 'service'){
104
                    $arg[] = $this->provideService($entry);
105
                }
106
            }
107
        }elseif($config->getName() == 'service'){
108
            $arg = self::provideService($config);
109
        }elseif($config->list){
110
            $arg = $this->buildArg($config->list);
111
        }elseif($config->service){
112
            $arg = $this->buildArg($config->service);
113
        }
114
        return $arg;
115
    }
116
117
    /**
118
     * Builds and modifies an arbitrary service/object instance from a config-obect.

src/Context/XMLContext.php 1 location

@@ 655-681 (lines=27) @@
652
     * @param object $config configuration object to create argument from.  
653
     * @return mixed build argument 
654
     */
655
    protected function buildArg($config){ 
656
        if(trim((string)$config['value']) != ''){
657
            $arg = (string)$config['value'];
658
        }elseif($config->getName() == 'value'){
659
            $arg = (string)$config;
660
        }elseif($config->getName() == 'list'){
661
            $arg = array();
662
            foreach($config->children() as $entry){ 
663
                if($entry->getName() == 'value'){
664
                    if($entry['key']){
665
                        $arg[(string)$entry['key']] = (string)$entry;   
666
                    }else{
667
                        $arg[] = (string)$entry;
668
                    }
669
                }elseif($entry->getName() == 'service'){
670
                    $arg[] = $this->provideService($entry);
671
                }
672
            }
673
        }elseif($config->getName() == 'service'){
674
            $arg = $this->provideService($config);
675
        }elseif($config->list){
676
            $arg = $this->buildArg($config->list);
677
        }elseif($config->service){
678
            $arg = $this->buildArg($config->service);
679
        } 
680
        return $arg; 
681
    }       
682
683
    
684
    /**