/** * Set service objects to use. Unit tests may call this to substitute mock * services. */ public function initServices(DataTypeFactory $dataTypeFactory, PropertyInfoStore $propertyInfoStore, EntityIdFormatterFactory $entityIdFormatterFactory, LanguageFallbackChainFactory $languageFallbackChainFactory, EntityTitleLookup $titleLookup, BufferingTermLookup $bufferingTermLookup) { $fallbackMode = LanguageFallbackChainFactory::FALLBACK_ALL; $this->labelDescriptionLookup = new LanguageFallbackLabelDescriptionLookup($bufferingTermLookup, $languageFallbackChainFactory->newFromLanguage($this->getLanguage(), $fallbackMode)); $this->dataTypeFactory = $dataTypeFactory; $this->propertyInfoStore = $propertyInfoStore; $this->entityIdFormatter = $entityIdFormatterFactory->getEntityIdFormatter($this->labelDescriptionLookup); $this->titleLookup = $titleLookup; $this->bufferingTermLookup = $bufferingTermLookup; }
/** * @param string $entityType * @param string $languageCode * @param LanguageFallbackChain $fallbackChain * @param LabelDescriptionLookup $labelDescriptionLookup * @param EditSectionGenerator $editSectionGenerator * * @return StatementSectionsView */ private function newStatementSectionsView($entityType, $languageCode, LanguageFallbackChain $fallbackChain, LabelDescriptionLookup $labelDescriptionLookup, EditSectionGenerator $editSectionGenerator) { $snakFormatter = $this->htmlSnakFormatterFactory->getSnakFormatter($languageCode, $fallbackChain, $labelDescriptionLookup); $propertyIdFormatter = $this->htmlIdFormatterFactory->getEntityIdFormatter($labelDescriptionLookup); $snakHtmlGenerator = new SnakHtmlGenerator($this->templateFactory, $snakFormatter, $propertyIdFormatter); $statementGroupListView = new StatementGroupListView($this->templateFactory, $propertyIdFormatter, $editSectionGenerator, new ClaimHtmlGenerator($this->templateFactory, $snakHtmlGenerator)); return new StatementSectionsView($this->templateFactory, $this->statementGrouper, $statementGroupListView); }