From c1fcda2874db2b0d8712d65efea15923106c3431 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Tue, 26 Apr 2022 16:15:25 +0200
Subject: [PATCH] Port to ExtensionTrait

---
 composer.json                                    |  2 +-
 composer.lock                                    | 10 +++++-----
 .../DbpRelayExampleExtension.php                 | 16 ++++------------
 3 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/composer.json b/composer.json
index 5932a93..c683fbe 100644
--- a/composer.json
+++ b/composer.json
@@ -7,7 +7,7 @@
         "php": ">=7.3",
         "ext-json": "*",
         "api-platform/core": "^2.6",
-        "dbp/relay-core-bundle": "^0.1.11",
+        "dbp/relay-core-bundle": "^0.1.34",
         "symfony/framework-bundle": "^5.4"
     },
     "require-dev": {
diff --git a/composer.lock b/composer.lock
index 37ef35b..c76cdd2 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "b878b6ad7ae9d3be59c1bd0baecfac10",
+    "content-hash": "2f3e050bc7386e8df9d791055f716309",
     "packages": [
         {
             "name": "api-platform/core",
@@ -169,11 +169,11 @@
         },
         {
             "name": "dbp/relay-core-bundle",
-            "version": "v0.1.32",
+            "version": "v0.1.34",
             "source": {
                 "type": "git",
                 "url": "https://gitlab.tugraz.at/dbp/relay/dbp-relay-core-bundle",
-                "reference": "b7b60c7505b42a042dac8869b3e837d73fb9da5e"
+                "reference": "d957d248aff513901e89d6eeb7dc8d0e3f68ea63"
             },
             "require": {
                 "api-platform/core": "^2.6.6",
@@ -233,7 +233,7 @@
                 "AGPL-3.0-or-later"
             ],
             "description": "The core bundle of the Relay API gateway",
-            "time": "2022-02-15T09:59:16+00:00"
+            "time": "2022-04-26T12:25:46+00:00"
         },
         {
             "name": "doctrine/annotations",
@@ -10004,5 +10004,5 @@
     "platform-overrides": {
         "php": "7.3"
     },
-    "plugin-api-version": "2.1.0"
+    "plugin-api-version": "2.2.0"
 }
diff --git a/src/DependencyInjection/DbpRelayExampleExtension.php b/src/DependencyInjection/DbpRelayExampleExtension.php
index 842ceb8..7d88bbe 100644
--- a/src/DependencyInjection/DbpRelayExampleExtension.php
+++ b/src/DependencyInjection/DbpRelayExampleExtension.php
@@ -4,6 +4,7 @@ declare(strict_types=1);
 
 namespace Dbp\Relay\ExampleBundle\DependencyInjection;
 
+use Dbp\Relay\CoreBundle\Extension\ExtensionTrait;
 use Symfony\Component\Config\FileLocator;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
@@ -11,10 +12,11 @@ use Symfony\Component\HttpKernel\DependencyInjection\ConfigurableExtension;
 
 class DbpRelayExampleExtension extends ConfigurableExtension
 {
+    use ExtensionTrait;
+
     public function loadInternal(array $mergedConfig, ContainerBuilder $container)
     {
-        $this->extendArrayParameter(
-            $container, 'api_platform.resource_class_directories', [__DIR__.'/../Entity']);
+        $this->addResourceClassDirectory($container, __DIR__.'/../Entity');
 
         $loader = new YamlFileLoader(
             $container,
@@ -26,14 +28,4 @@ class DbpRelayExampleExtension extends ConfigurableExtension
         $definition = $container->getDefinition('Dbp\Relay\ExampleBundle\Service\MyCustomService');
         $definition->addArgument($mergedConfig['example_config']);
     }
-
-    private function extendArrayParameter(ContainerBuilder $container, string $parameter, array $values)
-    {
-        if (!$container->hasParameter($parameter)) {
-            $container->setParameter($parameter, []);
-        }
-        $oldValues = $container->getParameter($parameter);
-        assert(is_array($oldValues));
-        $container->setParameter($parameter, array_merge($oldValues, $values));
-    }
 }
-- 
GitLab