From 22907296d061bcc62cbdd34817cc5b86b024976d Mon Sep 17 00:00:00 2001
From: Kevin Ditscheid <kevin.ditscheid@sgalinski.de>
Date: Wed, 22 Jul 2020 10:09:39 +0200
Subject: [PATCH] [TASK] Replace @inject with inject methods

---
 Classes/Controller/AbstractController.php     | 12 +++--
 Classes/Controller/LatestController.php       | 34 +++++++++++---
 .../Controller/ListByCategoryController.php   | 34 +++++++++++---
 Classes/Controller/NewsFeedController.php     | 11 ++++-
 Classes/Controller/OverviewController.php     | 34 +++++++++++---
 Classes/Controller/SingleViewController.php   | 45 +++++++++++++++----
 Classes/Service/ImageService.php              | 11 ++++-
 7 files changed, 148 insertions(+), 33 deletions(-)

diff --git a/Classes/Controller/AbstractController.php b/Classes/Controller/AbstractController.php
index 526287e..2710135 100644
--- a/Classes/Controller/AbstractController.php
+++ b/Classes/Controller/AbstractController.php
@@ -29,7 +29,7 @@ namespace SGalinski\SgNews\Controller;
 use RuntimeException;
 use SGalinski\SgNews\Domain\Model\Category;
 use SGalinski\SgNews\Domain\Model\News;
-use SGalinski\SgNews\Utility\ExtensionUtility;
+use SGalinski\SgNews\Service\ImageService;
 use TYPO3\CMS\Extbase\Domain\Model\FileReference;
 use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
 
@@ -38,8 +38,7 @@ use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
  */
 abstract class AbstractController extends ActionController {
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Service\ImageService
+	 * @var ImageService
 	 */
 	protected $imageService;
 
@@ -65,6 +64,13 @@ abstract class AbstractController extends ActionController {
 		parent::initializeAction();
 	}
 
+	/**
+	 * @param ImageService $imageService
+	 */
+	public function injectImageService(ImageService $imageService) {
+		$this->imageService = $imageService;
+	}
+
 	/**
 	 * Error Handler
 	 *
diff --git a/Classes/Controller/LatestController.php b/Classes/Controller/LatestController.php
index 2221c06..9dbfd3b 100644
--- a/Classes/Controller/LatestController.php
+++ b/Classes/Controller/LatestController.php
@@ -28,6 +28,9 @@ namespace SGalinski\SgNews\Controller;
 
 use SGalinski\SgNews\Domain\Model\Category;
 use SGalinski\SgNews\Domain\Model\News;
+use SGalinski\SgNews\Domain\Repository\CategoryRepository;
+use SGalinski\SgNews\Domain\Repository\NewsRepository;
+use SGalinski\SgNews\Domain\Repository\TagRepository;
 use SGalinski\SgNews\Service\ConfigurationService;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
@@ -36,20 +39,17 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class LatestController extends AbstractController {
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\CategoryRepository
+	 * @var CategoryRepository
 	 */
 	protected $categoryRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\TagRepository
+	 * @var TagRepository
 	 */
 	protected $tagRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\NewsRepository
+	 * @var NewsRepository
 	 */
 	protected $newsRepository;
 
@@ -118,4 +118,26 @@ class LatestController extends AbstractController {
 
 		$this->view->assign('newsMetaData', $newsMetaData);
 	}
+
+	/**
+	 * @param CategoryRepository $categoryRepository
+	 */
+	public function injectCategoryRepository(CategoryRepository $categoryRepository
+	) {
+		$this->categoryRepository = $categoryRepository;
+	}
+
+	/**
+	 * @param NewsRepository $newsRepository
+	 */
+	public function injectNewsRepository(NewsRepository $newsRepository) {
+		$this->newsRepository = $newsRepository;
+	}
+
+	/**
+	 * @param TagRepository $tagRepository
+	 */
+	public function injectTagRepository(TagRepository $tagRepository) {
+		$this->tagRepository = $tagRepository;
+	}
 }
diff --git a/Classes/Controller/ListByCategoryController.php b/Classes/Controller/ListByCategoryController.php
index 8682900..65f77a6 100644
--- a/Classes/Controller/ListByCategoryController.php
+++ b/Classes/Controller/ListByCategoryController.php
@@ -27,6 +27,9 @@ namespace SGalinski\SgNews\Controller;
  ***************************************************************/
 
 use SGalinski\SgNews\Domain\Model\News;
+use SGalinski\SgNews\Domain\Repository\CategoryRepository;
+use SGalinski\SgNews\Domain\Repository\NewsRepository;
+use SGalinski\SgNews\Domain\Repository\TagRepository;
 use SGalinski\SgNews\Service\ConfigurationService;
 use SGalinski\SgNews\Service\HeaderMetaDataService;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -37,20 +40,17 @@ use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
  */
 class ListByCategoryController extends AbstractController {
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\CategoryRepository
+	 * @var CategoryRepository
 	 */
 	protected $categoryRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\TagRepository
+	 * @var TagRepository
 	 */
 	protected $tagRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\NewsRepository
+	 * @var NewsRepository
 	 */
 	protected $newsRepository;
 
@@ -66,6 +66,28 @@ class ListByCategoryController extends AbstractController {
 		}
 	}
 
+	/**
+	 * @param CategoryRepository $categoryRepository
+	 */
+	public function injectCategoryRepository(CategoryRepository $categoryRepository
+	) {
+		$this->categoryRepository = $categoryRepository;
+	}
+
+	/**
+	 * @param NewsRepository $newsRepository
+	 */
+	public function injectNewsRepository(NewsRepository $newsRepository) {
+		$this->newsRepository = $newsRepository;
+	}
+
+	/**
+	 * @param TagRepository $tagRepository
+	 */
+	public function injectTagRepository(TagRepository $tagRepository) {
+		$this->tagRepository = $tagRepository;
+	}
+
 	/**
 	 * Renders the news list of a category
 	 *
diff --git a/Classes/Controller/NewsFeedController.php b/Classes/Controller/NewsFeedController.php
index 21a1f85..6278c9a 100644
--- a/Classes/Controller/NewsFeedController.php
+++ b/Classes/Controller/NewsFeedController.php
@@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Controller;
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
 
+use SGalinski\SgNews\Domain\Repository\NewsRepository;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
@@ -33,8 +34,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class NewsFeedController extends AbstractController {
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\NewsRepository
+	 * @var NewsRepository
 	 */
 	protected $newsRepository;
 
@@ -53,4 +53,11 @@ class NewsFeedController extends AbstractController {
 		);
 		$this->view->assign('news', $news);
 	}
+
+	/**
+	 * @param NewsRepository $newsRepository
+	 */
+	public function injectNewsRepository(NewsRepository $newsRepository) {
+		$this->newsRepository = $newsRepository;
+	}
 }
diff --git a/Classes/Controller/OverviewController.php b/Classes/Controller/OverviewController.php
index 16a74fd..a4d7b4e 100644
--- a/Classes/Controller/OverviewController.php
+++ b/Classes/Controller/OverviewController.php
@@ -29,6 +29,9 @@ namespace SGalinski\SgNews\Controller;
 use SGalinski\SgNews\Domain\Model\Category;
 use SGalinski\SgNews\Domain\Model\Tag;
 use SGalinski\SgNews\Domain\Model\News;
+use SGalinski\SgNews\Domain\Repository\CategoryRepository;
+use SGalinski\SgNews\Domain\Repository\NewsRepository;
+use SGalinski\SgNews\Domain\Repository\TagRepository;
 use SGalinski\SgNews\Service\ConfigurationService;
 use SGalinski\SgNews\Service\HeaderMetaDataService;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -41,20 +44,17 @@ use TYPO3\CMS\Extbase\Persistence\QueryInterface;
  */
 class OverviewController extends AbstractController {
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\CategoryRepository
+	 * @var CategoryRepository
 	 */
 	protected $categoryRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\TagRepository
+	 * @var TagRepository
 	 */
 	protected $tagRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\NewsRepository
+	 * @var NewsRepository
 	 */
 	protected $newsRepository;
 
@@ -450,6 +450,28 @@ class OverviewController extends AbstractController {
 		}
 	}
 
+	/**
+	 * @param CategoryRepository $categoryRepository
+	 */
+	public function injectCategoryRepository(CategoryRepository $categoryRepository
+	) {
+		$this->categoryRepository = $categoryRepository;
+	}
+
+	/**
+	 * @param NewsRepository $newsRepository
+	 */
+	public function injectNewsRepository(NewsRepository $newsRepository) {
+		$this->newsRepository = $newsRepository;
+	}
+
+	/**
+	 * @param TagRepository $tagRepository
+	 */
+	public function injectTagRepository(TagRepository $tagRepository) {
+		$this->tagRepository = $tagRepository;
+	}
+
 	/**
 	 * Renders the news in a paginated list
 	 *
diff --git a/Classes/Controller/SingleViewController.php b/Classes/Controller/SingleViewController.php
index 9883f08..16587af 100644
--- a/Classes/Controller/SingleViewController.php
+++ b/Classes/Controller/SingleViewController.php
@@ -28,33 +28,33 @@ namespace SGalinski\SgNews\Controller;
 
 use SGalinski\SgNews\Domain\Model\Category;
 use SGalinski\SgNews\Domain\Model\News;
+use SGalinski\SgNews\Domain\Repository\CategoryRepository;
+use SGalinski\SgNews\Domain\Repository\NewsRepository;
+use SGalinski\SgNews\Domain\Repository\TagRepository;
 use SGalinski\SgNews\Service\HeaderMetaDataService;
+use TYPO3\CMS\Core\Charset\CharsetConverter;
 
 /**
  * Controller that handles the news single view page
  */
 class SingleViewController extends AbstractController {
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\CategoryRepository
+	 * @var CategoryRepository
 	 */
 	protected $categoryRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\TagRepository
+	 * @var TagRepository
 	 */
 	protected $tagRepository;
 
 	/**
-	 * @inject
-	 * @var \SGalinski\SgNews\Domain\Repository\NewsRepository
+	 * @var NewsRepository
 	 */
 	protected $newsRepository;
 
 	/**
-	 * @inject
-	 * @var \TYPO3\CMS\Core\Charset\CharsetConverter
+	 * @var CharsetConverter
 	 */
 	protected $characterSetConverter;
 
@@ -113,4 +113,33 @@ class SingleViewController extends AbstractController {
 			]
 		);
 	}
+
+	/**
+	 * @param CategoryRepository $categoryRepository
+	 */
+	public function injectCategoryRepository(CategoryRepository $categoryRepository
+	) {
+		$this->categoryRepository = $categoryRepository;
+	}
+
+	/**
+	 * @param CharsetConverter $characterSetConverter
+	 */
+	public function injectCharacterSetConverter(CharsetConverter $characterSetConverter) {
+		$this->characterSetConverter = $characterSetConverter;
+	}
+
+	/**
+	 * @param NewsRepository $newsRepository
+	 */
+	public function injectNewsRepository(NewsRepository $newsRepository) {
+		$this->newsRepository = $newsRepository;
+	}
+
+	/**
+	 * @param TagRepository $tagRepository
+	 */
+	public function injectTagRepository(TagRepository $tagRepository) {
+		$this->tagRepository = $tagRepository;
+	}
 }
diff --git a/Classes/Service/ImageService.php b/Classes/Service/ImageService.php
index b96887b..cfa9621 100644
--- a/Classes/Service/ImageService.php
+++ b/Classes/Service/ImageService.php
@@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Service;
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
 
+use TYPO3\CMS\Core\Charset\CharsetConverter;
 use TYPO3\CMS\Core\SingletonInterface;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Domain\Model\FileReference;
@@ -35,8 +36,7 @@ use TYPO3\CMS\Extbase\Domain\Model\FileReference;
  */
 class ImageService implements SingletonInterface {
 	/**
-	 * @inject
-	 * @var \TYPO3\CMS\Core\Charset\CharsetConverter
+	 * @var CharsetConverter
 	 */
 	protected $characterSetConverter;
 
@@ -92,4 +92,11 @@ class ImageService implements SingletonInterface {
 
 		return $croppedImage;
 	}
+
+	/**
+	 * @param CharsetConverter $characterSetConverter
+	 */
+	public function injectCharacterSetConverter(CharsetConverter $characterSetConverter) {
+		$this->characterSetConverter = $characterSetConverter;
+	}
 }
-- 
GitLab