From 4111148c778692668497e0f11a0c9eed72b6da7d Mon Sep 17 00:00:00 2001
From: David Maus <dmaus@dmaus.name>
Date: Mon, 25 Nov 2019 18:09:07 +0100
Subject: [PATCH] Remove dependency on Symfony components

---
 src/HAB/Solr/Facet/AbstractFacetAdapter.php      | 16 ++++++++--------
 src/HAB/Solr/Facet/FacetCollection.php           |  4 +---
 .../Facet/StateFilter/DefaultStateFilter.php     |  4 ++--
 .../Facet/StateFilter/StateFilterInterface.php   | 10 ++++------
 4 files changed, 15 insertions(+), 19 deletions(-)

diff --git a/src/HAB/Solr/Facet/AbstractFacetAdapter.php b/src/HAB/Solr/Facet/AbstractFacetAdapter.php
index 71ccfef..4a4ccb6 100644
--- a/src/HAB/Solr/Facet/AbstractFacetAdapter.php
+++ b/src/HAB/Solr/Facet/AbstractFacetAdapter.php
@@ -23,8 +23,6 @@
 
 namespace HAB\Solr\Facet;
 
-use Symfony\Component\HttpFoundation\ParameterBag;
-
 /**
  * An abstract base class for facet adapters.
  *
@@ -72,7 +70,7 @@ abstract class AbstractFacetAdapter implements FacetAdapterInterface
     /**
      * Application state.
      *
-     * @var ParameterBag
+     * @var array
      */
     private $state;
 
@@ -188,11 +186,13 @@ abstract class AbstractFacetAdapter implements FacetAdapterInterface
     /**
      * {@inheritDoc}
      */
-    public function setComponentState (ParameterBag $state)
+    public function setComponentState (array $state)
     {
-        $params = $state->get('f');
-        if ($params && is_array($params) && isset($params[$this->getName()])) {
-            $this->setFilterValues($params[$this->getName()]);
+        if (array_key_exists('f', $state)) {
+            $params = $state->get('f');
+            if ($params && is_array($params) && isset($params[$this->getName()])) {
+                $this->setFilterValues($params[$this->getName()]);
+            }
         }
         $this->state = $state;
     }
@@ -227,4 +227,4 @@ abstract class AbstractFacetAdapter implements FacetAdapterInterface
      * @return mixed
      */
     abstract public function getFilterValues ();
-}
\ No newline at end of file
+}
diff --git a/src/HAB/Solr/Facet/FacetCollection.php b/src/HAB/Solr/Facet/FacetCollection.php
index 5c4b97b..3f55fd5 100644
--- a/src/HAB/Solr/Facet/FacetCollection.php
+++ b/src/HAB/Solr/Facet/FacetCollection.php
@@ -27,8 +27,6 @@ use HAB\Solr\Response\Json\RecordCollection;
 use HAB\Solr\Response\Json\RecordCollectionConsumerInterface;
 use HAB\Solr\ParameterProviderInterface;
 
-use Symfony\Component\HttpFoundation\ParameterBag;
-
 use Countable;
 use ArrayIterator;
 use IteratorAggregate;
@@ -135,7 +133,7 @@ class FacetCollection implements Countable, IteratorAggregate, ParameterProvider
     /**
      * {@inheritDoc}
      */
-    public function setComponentState (ParameterBag $state)
+    public function setComponentState (array $state)
     {
         $state = $this->getComponentStateFilter()->filter($state);
         foreach ($this->facets as $facet) {
diff --git a/src/HAB/Solr/Facet/StateFilter/DefaultStateFilter.php b/src/HAB/Solr/Facet/StateFilter/DefaultStateFilter.php
index 7b5f6d6..9419b1c 100644
--- a/src/HAB/Solr/Facet/StateFilter/DefaultStateFilter.php
+++ b/src/HAB/Solr/Facet/StateFilter/DefaultStateFilter.php
@@ -39,8 +39,8 @@ class DefaultStateFilter implements StateFilterInterface
     /**
      * {@inheritDoc}
      */
-    public function filter (ParameterBag $state)
+    public function filter (array $state)
     {
         return clone($state);
     }
-}
\ No newline at end of file
+}
diff --git a/src/HAB/Solr/Facet/StateFilter/StateFilterInterface.php b/src/HAB/Solr/Facet/StateFilter/StateFilterInterface.php
index d734f91..659a2f7 100644
--- a/src/HAB/Solr/Facet/StateFilter/StateFilterInterface.php
+++ b/src/HAB/Solr/Facet/StateFilter/StateFilterInterface.php
@@ -23,8 +23,6 @@
 
 namespace HAB\Solr\Facet\StateFilter;
 
-use Symfony\Component\HttpFoundation\ParameterBag;
-
 /**
  * Interface of a component state filter.
  *
@@ -37,8 +35,8 @@ interface StateFilterInterface
     /**
      * Return filtered state.
      *
-     * @param  ParameterBag $state
-     * @return ParameterBag
+     * @param  array $state
+     * @return array
      */
-    public function filter (ParameterBag $state);
-}
\ No newline at end of file
+    public function filter (array $state);
+}
-- 
GitLab