diff --git a/_config.php b/_config.php deleted file mode 100644 index 118255b..0000000 --- a/_config.php +++ /dev/null @@ -1,7 +0,0 @@ -getSelectedDatabase() || @$current->isManipulationCapture) { - return; - } // If not yet set, or its already captured, just return - - $type = (new ReflectionClass($current))->getShortName(); - $dbClass = 'SilverStripe\FullTextSearch\Captures\SearchManipulateCapture_' . $type; - - // Check if Capture class exists. - if (!class_exists($dbClass)) { - return; - } - - /** @var Database $captured */ - $captured = new $dbClass(); - - $captured->setConnector($current->getConnector()); - $captured->setQueryBuilder($current->getQueryBuilder()); - $captured->setSchemaManager($current->getSchemaManager()); - - // The connection might have had it's name changed (like if we're currently in a test) - $captured->selectDatabase($current->getSelectedDatabase()); - DB::set_conn($captured); - } - public static $registered = false; /** @var SearchUpdateProcessor */ public static $processor = null; diff --git a/src/Search/Updaters/SearchUpdater_BindManipulationCaptureFilter.php b/src/Search/Updaters/SearchUpdater_BindManipulationCaptureFilter.php deleted file mode 100644 index 4262e8c..0000000 --- a/src/Search/Updaters/SearchUpdater_BindManipulationCaptureFilter.php +++ /dev/null @@ -1,21 +0,0 @@ -reset(); } - SearchUpdater::bind_manipulation_capture(); - Config::modify()->set(Injector::class, SearchUpdateProcessor::class, array( 'class' => SearchUpdateImmediateProcessor::class )); @@ -72,17 +70,17 @@ class SearchUpdaterTest extends SapphireTest // Check the default "writing a document updates the document" SearchUpdater::flush_dirty_indexes(); - $added = self::$index->getAdded(array('ID')); + $added = self::$index->getAdded(['ID']); // Some databases don't output $added in a consistent order; that's okay usort($added, function ($a, $b) { return $a['ID']-$b['ID']; }); - $this->assertEquals($added, array( - array('ID' => $container1->ID), - array('ID' => $container2->ID), - array('ID' => $container3->ID) - )); + $this->assertEquals([ + ['ID' => $container1->ID], + ['ID' => $container2->ID], + ['ID' => $container3->ID], + ], $added); // Check writing a has_one tracks back to the origin documents @@ -92,17 +90,17 @@ class SearchUpdaterTest extends SapphireTest $hasOne->write(); SearchUpdater::flush_dirty_indexes(); - $added = self::$index->getAdded(array('ID')); + $added = self::$index->getAdded(['ID']); // Some databases don't output $added in a consistent order; that's okay usort($added, function ($a, $b) { return $a['ID']-$b['ID']; }); - $this->assertEquals($added, array( - array('ID' => $container1->ID), - array('ID' => $container2->ID) - )); + $this->assertEquals([ + ['ID' => $container1->ID], + ['ID' => $container2->ID], + ], $added); // Check updating an unrelated field doesn't track back @@ -112,7 +110,7 @@ class SearchUpdaterTest extends SapphireTest $hasOne->write(); SearchUpdater::flush_dirty_indexes(); - $this->assertEquals(self::$index->getAdded(array('ID')), array()); + $this->assertEquals([], self::$index->getAdded(['ID'])); // Check writing a has_one tracks back to the origin documents @@ -122,9 +120,9 @@ class SearchUpdaterTest extends SapphireTest $alternateHasOne->write(); SearchUpdater::flush_dirty_indexes(); - $this->assertEquals(self::$index->getAdded(array('ID')), array( - array('ID' => $container3->ID) - )); + $this->assertEquals([ + ['ID' => $container3->ID], + ], self::$index->getAdded(['ID'])); } public function testHasManyHook() @@ -148,10 +146,10 @@ class SearchUpdaterTest extends SapphireTest SearchUpdater::flush_dirty_indexes(); - $this->assertEquals(self::$index->getAdded(array('ID')), array( - array('ID' => $container1->ID), - array('ID' => $container2->ID) - )); + $this->assertEquals([ + ['ID' => $container1->ID], + ['ID' => $container2->ID], + ], self::$index->getAdded(['ID'])); self::$index->reset(); @@ -162,8 +160,8 @@ class SearchUpdaterTest extends SapphireTest $hasMany2->write(); SearchUpdater::flush_dirty_indexes(); - $this->assertEquals(self::$index->getAdded(array('ID')), array( - array('ID' => $container1->ID) - )); + $this->assertEquals([ + ['ID' => $container1->ID], + ], self::$index->getAdded(['ID'])); } } diff --git a/tests/SearchVariantSubsitesTest.php b/tests/SearchVariantSubsitesTest.php index 428bb39..6ef6be2 100644 --- a/tests/SearchVariantSubsitesTest.php +++ b/tests/SearchVariantSubsitesTest.php @@ -31,11 +31,9 @@ class SearchVariantSubsiteTest extends SapphireTest self::$index = singleton(static::class); } - SearchUpdater::bind_manipulation_capture(); - - Config::modify()->set(Injector::class, SearchUpdateProcessor::class, [ - 'class' => SearchUpdateImmediateProcessor::class - ]); + Config::inst()->update('Injector', 'SearchUpdateProcessor', array( + 'class' => 'SearchUpdateImmediateProcessor' + )); FullTextSearch::force_index_list(self::$index); SearchUpdater::clear_dirty_indexes(); diff --git a/tests/SearchVariantVersionedTest.php b/tests/SearchVariantVersionedTest.php index ecda9d3..5c34da7 100644 --- a/tests/SearchVariantVersionedTest.php +++ b/tests/SearchVariantVersionedTest.php @@ -34,8 +34,6 @@ class SearchVariantVersionedTest extends SapphireTest self::$index = singleton(SearchVariantVersionedTest_Index::class); } - SearchUpdater::bind_manipulation_capture(); - Config::modify()->set(Injector::class, SearchUpdateProcessor::class, array( 'class' => SearchUpdateImmediateProcessor::class )); diff --git a/tests/SolrIndexSubsitesTest.php b/tests/SolrIndexSubsitesTest.php index d17f2f8..b1beb63 100644 --- a/tests/SolrIndexSubsitesTest.php +++ b/tests/SolrIndexSubsitesTest.php @@ -55,11 +55,9 @@ class SolrIndexSubsitesTest extends SapphireTest self::$index = singleton(SolrIndexSubsitesTest_Index::class); } - SearchUpdater::bind_manipulation_capture(); - - Config::modify()->set(Injector::class, SearchUpdateProcessor::class, [ - 'class' => SearchUpdateImmediateProcessor::class, - ]); + Config::modify()->set('Injector', 'SearchUpdateProcessor', array( + 'class' => 'SearchUpdateImmediateProcessor' + )); FullTextSearch::force_index_list(self::$index); SearchUpdater::clear_dirty_indexes(); diff --git a/tests/SolrIndexVersionedTest.php b/tests/SolrIndexVersionedTest.php index 14af82d..23b7a66 100644 --- a/tests/SolrIndexVersionedTest.php +++ b/tests/SolrIndexVersionedTest.php @@ -46,9 +46,7 @@ class SolrIndexVersionedTest extends SapphireTest self::$index = singleton(SolrVersionedTest_Index::class); } - SearchUpdater::bind_manipulation_capture(); - - Config::modify()->set(Injector::class, SearchUpdateProcessor::class, [ + Config::modify()->set(Injector::class, SearchUpdateProcessor::class, array( 'class' => SearchUpdateImmediateProcessor::class ]);