Code Duplication    Length = 24-24 lines in 2 locations

src/Module/RootModuleFileManagerImpl.php 2 locations

@@ 170-193 (lines=24) @@
167
    /**
168
     * {@inheritdoc}
169
     */
170
    public function removePluginClasses(Expression $expr)
171
    {
172
        $save = false;
173
        $previousClasses = $this->rootModuleFile->getPluginClasses();
174
175
        foreach ($previousClasses as $pluginClass) {
176
            if ($expr->evaluate($pluginClass)) {
177
                $this->rootModuleFile->removePluginClass($pluginClass);
178
                $save = true;
179
            }
180
        }
181
182
        if (!$save) {
183
            return;
184
        }
185
186
        try {
187
            $this->jsonStorage->saveRootModuleFile($this->rootModuleFile);
188
        } catch (Exception $e) {
189
            $this->rootModuleFile->setPluginClasses($previousClasses);
190
191
            throw $e;
192
        }
193
    }
194
195
    /**
196
     * {@inheritdoc}
@@ 344-367 (lines=24) @@
341
    /**
342
     * {@inheritdoc}
343
     */
344
    public function removeExtraKeys(Expression $expr)
345
    {
346
        $previousValues = $this->rootModuleFile->getExtraKeys();
347
        $save = false;
348
349
        foreach ($this->rootModuleFile->getExtraKeys() as $key => $value) {
350
            if ($expr->evaluate($key)) {
351
                $this->rootModuleFile->removeExtraKey($key);
352
                $save = true;
353
            }
354
        }
355
356
        if (!$save) {
357
            return;
358
        }
359
360
        try {
361
            $this->jsonStorage->saveRootModuleFile($this->rootModuleFile);
362
        } catch (Exception $e) {
363
            $this->rootModuleFile->setExtraKeys($previousValues);
364
365
            throw $e;
366
        }
367
    }
368
369
    /**
370
     * {@inheritdoc}