first commit
This commit is contained in:
@@ -17,13 +17,13 @@ namespace WapplerSystems\Meilisearch\Controller;
|
||||
use WapplerSystems\Meilisearch\ConnectionManager;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\ResultSet\SearchResultSetService;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\SearchRequestBuilder;
|
||||
use WapplerSystems\Meilisearch\NoSolrConnectionFoundException;
|
||||
use WapplerSystems\Meilisearch\NoMeilisearchConnectionFoundException;
|
||||
use WapplerSystems\Meilisearch\Search;
|
||||
use WapplerSystems\Meilisearch\System\Configuration\TypoScriptConfiguration;
|
||||
use WapplerSystems\Meilisearch\Mvc\Controller\SolrControllerContext;
|
||||
use WapplerSystems\Meilisearch\System\Logging\SolrLogManager;
|
||||
use WapplerSystems\Meilisearch\Mvc\Controller\MeilisearchControllerContext;
|
||||
use WapplerSystems\Meilisearch\System\Logging\MeilisearchLogManager;
|
||||
use WapplerSystems\Meilisearch\System\Service\ConfigurationService;
|
||||
use WapplerSystems\Meilisearch\System\Configuration\ConfigurationManager as SolrConfigurationManager;
|
||||
use WapplerSystems\Meilisearch\System\Configuration\ConfigurationManager as MeilisearchConfigurationManager;
|
||||
use WapplerSystems\Meilisearch\Util;
|
||||
use TYPO3\CMS\Core\TypoScript\TypoScriptService;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
@@ -56,9 +56,9 @@ abstract class AbstractBaseController extends ActionController
|
||||
protected $configurationManager;
|
||||
|
||||
/**
|
||||
* @var SolrConfigurationManager
|
||||
* @var MeilisearchConfigurationManager
|
||||
*/
|
||||
private $solrConfigurationManager;
|
||||
private $meilisearchConfigurationManager;
|
||||
|
||||
/**
|
||||
* The configuration is private if you need it please get it from the controllerContext.
|
||||
@@ -68,7 +68,7 @@ abstract class AbstractBaseController extends ActionController
|
||||
protected $typoScriptConfiguration;
|
||||
|
||||
/**
|
||||
* @var \WapplerSystems\Meilisearch\Mvc\Controller\SolrControllerContext
|
||||
* @var \WapplerSystems\Meilisearch\Mvc\Controller\MeilisearchControllerContext
|
||||
*/
|
||||
protected $controllerContext;
|
||||
|
||||
@@ -115,11 +115,11 @@ abstract class AbstractBaseController extends ActionController
|
||||
}
|
||||
|
||||
/**
|
||||
* @param SolrConfigurationManager $configurationManager
|
||||
* @param MeilisearchConfigurationManager $configurationManager
|
||||
*/
|
||||
public function injectSolrConfigurationManager(SolrConfigurationManager $configurationManager)
|
||||
public function injectMeilisearchConfigurationManager(MeilisearchConfigurationManager $configurationManager)
|
||||
{
|
||||
$this->solrConfigurationManager = $configurationManager;
|
||||
$this->meilisearchConfigurationManager = $configurationManager;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -138,8 +138,8 @@ abstract class AbstractBaseController extends ActionController
|
||||
*/
|
||||
protected function buildControllerContext()
|
||||
{
|
||||
/** @var $controllerContext \WapplerSystems\Meilisearch\Mvc\Controller\SolrControllerContext */
|
||||
$controllerContext = $this->objectManager->get(SolrControllerContext::class);
|
||||
/** @var $controllerContext \WapplerSystems\Meilisearch\Mvc\Controller\MeilisearchControllerContext */
|
||||
$controllerContext = $this->objectManager->get(MeilisearchControllerContext::class);
|
||||
$controllerContext->setRequest($this->request);
|
||||
$controllerContext->setResponse($this->response);
|
||||
if ($this->arguments !== null) {
|
||||
@@ -159,23 +159,23 @@ abstract class AbstractBaseController extends ActionController
|
||||
{
|
||||
// Reset configuration (to reset flexform overrides) if resetting is enabled
|
||||
if ($this->resetConfigurationBeforeInitialize) {
|
||||
$this->solrConfigurationManager->reset();
|
||||
$this->meilisearchConfigurationManager->reset();
|
||||
}
|
||||
/** @var TypoScriptService $typoScriptService */
|
||||
$typoScriptService = $this->objectManager->get(TypoScriptService::class);
|
||||
|
||||
// Merge settings done by typoscript with solrConfiguration plugin.tx_meilisearch (obsolete when part of ext:solr)
|
||||
// Merge settings done by typoscript with meilisearchConfiguration plugin.tx_meilisearch (obsolete when part of ext:meilisearch)
|
||||
$frameWorkConfiguration = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
|
||||
$pluginSettings = [];
|
||||
foreach (['search', 'settings', 'suggest', 'statistics', 'logging', 'general', 'solr', 'view'] as $key) {
|
||||
foreach (['search', 'settings', 'suggest', 'statistics', 'logging', 'general', 'meilisearch', 'view'] as $key) {
|
||||
if (isset($frameWorkConfiguration[$key])) {
|
||||
$pluginSettings[$key] = $frameWorkConfiguration[$key];
|
||||
}
|
||||
}
|
||||
|
||||
$this->typoScriptConfiguration = $this->solrConfigurationManager->getTypoScriptConfiguration();
|
||||
$this->typoScriptConfiguration = $this->meilisearchConfigurationManager->getTypoScriptConfiguration();
|
||||
if ($pluginSettings !== []) {
|
||||
$this->typoScriptConfiguration->mergeSolrConfiguration(
|
||||
$this->typoScriptConfiguration->mergeMeilisearchConfiguration(
|
||||
$typoScriptService->convertPlainArrayToTypoScriptArray($pluginSettings),
|
||||
true,
|
||||
false
|
||||
@@ -192,7 +192,7 @@ abstract class AbstractBaseController extends ActionController
|
||||
$this->typoScriptFrontendController = $GLOBALS['TSFE'];
|
||||
$this->initializeSettings();
|
||||
|
||||
if ($this->actionMethodName !== 'solrNotAvailableAction') {
|
||||
if ($this->actionMethodName !== 'meilisearchNotAvailableAction') {
|
||||
$this->initializeSearch();
|
||||
}
|
||||
}
|
||||
@@ -214,23 +214,23 @@ abstract class AbstractBaseController extends ActionController
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the Solr connection and
|
||||
* Initialize the Meilisearch connection and
|
||||
* test the connection through a ping
|
||||
*/
|
||||
protected function initializeSearch()
|
||||
{
|
||||
/** @var \WapplerSystems\Meilisearch\ConnectionManager $solrConnection */
|
||||
/** @var \WapplerSystems\Meilisearch\ConnectionManager $meilisearchConnection */
|
||||
try {
|
||||
$solrConnection = $this->objectManager->get(ConnectionManager::class)->getConnectionByPageId($this->typoScriptFrontendController->id, Util::getLanguageUid(), $this->typoScriptFrontendController->MP);
|
||||
$search = $this->objectManager->get(Search::class, $solrConnection);
|
||||
$meilisearchConnection = $this->objectManager->get(ConnectionManager::class)->getConnectionByPageId($this->typoScriptFrontendController->id, Util::getLanguageUid(), $this->typoScriptFrontendController->MP);
|
||||
$search = $this->objectManager->get(Search::class, $meilisearchConnection);
|
||||
|
||||
$this->searchService = $this->objectManager->get(
|
||||
SearchResultSetService::class,
|
||||
/** @scrutinizer ignore-type */ $this->typoScriptConfiguration,
|
||||
/** @scrutinizer ignore-type */ $search
|
||||
);
|
||||
} catch (NoSolrConnectionFoundException $e) {
|
||||
$this->handleSolrUnavailable();
|
||||
} catch (NoMeilisearchConnectionFoundException $e) {
|
||||
$this->handleMeilisearchUnavailable();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,16 +247,16 @@ abstract class AbstractBaseController extends ActionController
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the solr server is unavailable.
|
||||
* Called when the meilisearch server is unavailable.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function handleSolrUnavailable()
|
||||
protected function handleMeilisearchUnavailable()
|
||||
{
|
||||
if ($this->typoScriptConfiguration->getLoggingExceptions()) {
|
||||
/** @var SolrLogManager $logger */
|
||||
$logger = GeneralUtility::makeInstance(SolrLogManager::class, /** @scrutinizer ignore-type */ __CLASS__);
|
||||
$logger->log(SolrLogManager::ERROR, 'Solr server is not available');
|
||||
/** @var MeilisearchLogManager $logger */
|
||||
$logger = GeneralUtility::makeInstance(MeilisearchLogManager::class, /** @scrutinizer ignore-type */ __CLASS__);
|
||||
$logger->log(MeilisearchLogManager::ERROR, 'Meilisearch server is not available');
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user