From 98fc8b5970b81197b0949993757c749679b6bcc5 Mon Sep 17 00:00:00 2001
From: Tim van Dijen <tvdijen@gmail.com>
Date: Tue, 1 Mar 2022 16:10:41 +0100
Subject: [PATCH] Move property to parent class

---
 .../Metadata/MetaDataStorageHandlerSerialize.php |  2 ++
 .../Metadata/MetaDataStorageSource.php           | 16 ++++++++++++++++
 lib/SimpleSAML/Metadata/Sources/MDQ.php          | 11 ++---------
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
index 1dcf7d1cf..8a3ac88ae 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
@@ -42,6 +42,8 @@ class MetaDataStorageHandlerSerialize extends MetaDataStorageSource
      */
     public function __construct(array $config)
     {
+        parent::__construct();
+
         $globalConfig = Configuration::getInstance();
 
         $cfgHelp = Configuration::loadFromArray($config, 'serialize metadata source');
diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageSource.php b/lib/SimpleSAML/Metadata/MetaDataStorageSource.php
index faef115c5..9dac4f0c7 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageSource.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageSource.php
@@ -8,6 +8,7 @@ use SimpleSAML\Assert\Assert;
 use SimpleSAML\Error;
 use SimpleSAML\Module;
 use SimpleSAML\Utils;
+use Symfony\Component\Filesystem\Filesystem;
 
 /**
  * This abstract class defines an interface for metadata storage sources.
@@ -21,6 +22,21 @@ use SimpleSAML\Utils;
 
 abstract class MetaDataStorageSource
 {
+    /**
+     * @var \Symfony\Component\Filesystem\Filesystem;
+     */
+    protected Filesystem $fileSystem;
+
+
+    /**
+     * This function initializes an XML metadata source.
+     */
+    protected function __construct()
+    {
+        $this->fileSystem = new Filesystem();
+    }
+
+
     /**
      * Parse array with metadata sources.
      *
diff --git a/lib/SimpleSAML/Metadata/Sources/MDQ.php b/lib/SimpleSAML/Metadata/Sources/MDQ.php
index c789f2de9..d96f882d5 100644
--- a/lib/SimpleSAML/Metadata/Sources/MDQ.php
+++ b/lib/SimpleSAML/Metadata/Sources/MDQ.php
@@ -13,7 +13,6 @@ use SimpleSAML\Logger;
 use SimpleSAML\Metadata\MetaDataStorageSource;
 use SimpleSAML\Metadata\SAMLParser;
 use SimpleSAML\Utils;
-use Symfony\Component\Filesystem\Filesystem;
 use Symfony\Component\HttpFoundation\File\File;
 
 use function array_key_exists;
@@ -56,12 +55,6 @@ class MDQ extends MetaDataStorageSource
      */
     private int $cacheLength;
 
-    /**
-     * @var \Symfony\Component\Filesystem\Filesystem;
-     */
-    private Filesystem $fileSystem;
-
-
     /**
      * This function initializes the dynamic XML metadata source.
      *
@@ -79,6 +72,8 @@ class MDQ extends MetaDataStorageSource
      */
     protected function __construct(array $config)
     {
+        parent::__construct($config);
+
         if (!array_key_exists('server', $config)) {
             throw new Exception(__CLASS__ . ": the 'server' configuration option is not set.");
         } else {
@@ -97,8 +92,6 @@ class MDQ extends MetaDataStorageSource
         } else {
             $this->cacheLength = 86400;
         }
-
-        $this->fileSystem = new Filesystem();
     }
 
 
-- 
GitLab