protected function setUp() { parent::setUp(); $this->applicationFactory = ApplicationFactory::getInstance(); $this->applicationFactory->getSettings()->set('smwgEnableUpdateJobs', false); $this->applicationFactory->getSettings()->set('smwgDeleteSubjectWithAssociatesRefresh', false); }
/** * @since 2.0 * * @return true */ public function process() { $settings = ApplicationFactory::getInstance()->getSettings(); $deleteSubjectJob = new DeleteSubjectJob($this->wikiPage->getTitle(), array('asDeferredJob' => $settings->get('smwgDeleteSubjectAsDeferredJob'), 'withAssociates' => $settings->get('smwgDeleteSubjectWithAssociatesRefresh'))); $deleteSubjectJob->execute(); return true; }
/** * @since 1.9 */ public function smwgNamespacesWithSemanticLinksProvider() { $provider = array(); $provider[] = array('GLOBALS', GlobalsProvider::getInstance()->get('smwgNamespacesWithSemanticLinks')); $provider[] = array('Settings', ApplicationFactory::getInstance()->getSettings()->get('smwgNamespacesWithSemanticLinks')); return $provider; }
protected function setUp() { parent::setUp(); $this->semanticDataValidator = new SemanticDataValidator(); $this->applicationFactory = ApplicationFactory::getInstance(); $this->parserFactory = new ParserFactory(); }
/** * @since 1.9 */ protected function loadAtInstantiation() { /** * Settings object definition * * @since 1.9 * * @return Settings */ $this->registerObject('Settings', function () { return Settings::newFromGlobals(); }, DependencyObject::SCOPE_SINGLETON); /** * Store object definition * * @since 1.9 * * @return Store */ $this->registerObject('Store', function (DependencyBuilder $builder) { return StoreFactory::getStore($builder->newObject('Settings')->get('smwgDefaultStore')); }, DependencyObject::SCOPE_SINGLETON); /** * @since 1.9 * * @return Cache */ $this->registerObject('Cache', function (DependencyBuilder $builder) { return ApplicationFactory::getInstance()->newCacheFactory()->newMediaWikiCompositeCache(); }, DependencyObject::SCOPE_SINGLETON); }
/** * @since 2.3 * * @return InMemoryPoolCache */ public static function getInstance() { if (self::$instance === null) { self::$instance = new self(ApplicationFactory::getInstance()->newCacheFactory()); } return self::$instance; }
/** * @dataProvider queryStringProvider */ public function testCreateFromString($queryString, $configuration, $expected) { $instance = new ConfigurableQueryCreator(ApplicationFactory::getInstance()->getQueryFactory()); $query = $instance->withConfiguration($configuration)->createFromString($queryString); $this->assertInstanceOf('\\SMWQuery', $query); $this->assertSame($expected, $query->getAsString()); }
/** * @since 1.9 * * @param Title $title * @param array $params job parameters * @param integer $id job id */ public function __construct(Title $title, $params = array(), $id = 0) { parent::__construct('SMW\\UpdateDispatcherJob', $title, $params, $id); $this->removeDuplicates = true; $this->applicationFactory = ApplicationFactory::getInstance(); $this->setStore($this->applicationFactory->getStore()); }
protected function setUp() { parent::setUp(); $utilityFactory = UtilityFactory::getInstance(); $this->fixturesFileProvider = $utilityFactory->newFixturesFactory()->newFixturesFileProvider(); $this->semanticDataValidator = $utilityFactory->newValidatorFactory()->newSemanticDataValidator(); $this->pageEditor = $utilityFactory->newPageEditor(); $this->mwHooksHandler = $utilityFactory->newMwHooksHandler(); $this->mwHooksHandler->deregisterListedHooks(); $this->applicationFactory = ApplicationFactory::getInstance(); $settings = array('smwgPageSpecialProperties' => array('_MEDIA', '_MIME'), 'smwgNamespacesWithSemanticLinks' => array(NS_MAIN => true, NS_FILE => true), 'smwgCacheType' => 'hash'); foreach ($settings as $key => $value) { $this->applicationFactory->getSettings()->set($key, $value); } // $this->getStore()->clear(); // $this->getStore()->setupStore( false ); $this->wgEnableUploads = $GLOBALS['wgEnableUploads']; $this->wgFileExtensions = $GLOBALS['wgFileExtensions']; $this->wgVerifyMimeType = $GLOBALS['wgVerifyMimeType']; $this->mwHooksHandler->register('FileUpload', $this->mwHooksHandler->getHookRegistry()->getHandlerFor('FileUpload')); $this->mwHooksHandler->register('InternalParseBeforeLinks', $this->mwHooksHandler->getHookRegistry()->getHandlerFor('InternalParseBeforeLinks')); $this->mwHooksHandler->register('LinksUpdateConstructed', $this->mwHooksHandler->getHookRegistry()->getHandlerFor('LinksUpdateConstructed')); $GLOBALS['wgEnableUploads'] = true; $GLOBALS['wgFileExtensions'] = array('txt'); $GLOBALS['wgVerifyMimeType'] = true; }
protected function setUp() { parent::setUp(); $this->applicationFactory = ApplicationFactory::getInstance(); $store = $this->getMockBuilder('\\SMW\\Store')->disableOriginalConstructor()->getMockForAbstractClass(); $this->applicationFactory->registerObject('Store', $store); }
protected function setUp() { parent::setUp(); $this->applicationFactory = ApplicationFactory::getInstance(); $settings = Settings::newFromArray(array('smwgShowFactbox' => SMW_FACTBOX_NONEMPTY, 'smwgFactboxUseCache' => true, 'smwgCacheType' => 'hash', 'smwgLinksInValues' => false, 'smwgInlineErrors' => true)); $this->applicationFactory->registerObject('Settings', $settings); }
/** * @since 2.0 * * @param ParserData $parserData * @param IContextSource $context * * @return Factbox */ public function newFactbox(ParserData $parserData, IContextSource $context) { $applicationFactory = ApplicationFactory::getInstance(); $messageBuilder = $applicationFactory->newMwCollaboratorFactory()->newMessageBuilder(); $messageBuilder->setLanguageFromContext($context); return new Factbox($applicationFactory->getStore(), $parserData, $messageBuilder); }
protected function setUp() { parent::setUp(); $this->checkIfDatabaseCanBeUsedOtherwiseSkipTest(); $this->checkIfStoreCanBeUsedOtherwiseSkipTest(); ApplicationFactory::getInstance()->registerObject('Store', $this->getStore()); }
protected function setUp() { parent::setUp(); $this->semanticDataFactory = UtilityFactory::getInstance()->newSemanticDataFactory(); $this->semanticDataValidator = UtilityFactory::getInstance()->newValidatorFactory()->newSemanticDataValidator(); $this->applicationFactory = ApplicationFactory::getInstance(); }
protected function setUp() { parent::setUp(); $this->semanticDataValidator = UtilityFactory::getInstance()->newValidatorFactory()->newSemanticDataValidator(); $this->applicationFactory = ApplicationFactory::getInstance(); $this->applicationFactory->getSettings()->set('smwgQueryDurationEnabled', false); }
protected function setUp() { parent::setUp(); $this->applicationFactory = ApplicationFactory::getInstance(); $settings = Settings::newFromArray(array('smwgFactboxUseCache' => true, 'smwgCacheType' => 'hash')); $this->applicationFactory->registerObject('Settings', $settings); }
protected function tearDown() { ApplicationFactory::getInstance()->clear(); $pageDeleter = UtilityFactory::getInstance()->newPageDeleter(); $pageDeleter->doDeletePoolOfPages($this->importedTitles); parent::tearDown(); }
/** * @since 2.4 * * {@inheritDoc} */ public function validate($dataValue) { $this->hasConstraintViolation = false; if (!$this->canValidate($dataValue)) { return $this->hasConstraintViolation; } $property = $dataValue->getProperty(); if (!ApplicationFactory::getInstance()->getPropertySpecificationLookup()->hasUniquenessConstraintBy($property)) { return $this->hasConstraintViolation; } $blobStore = $this->cachedPropertyValuesPrefetcher->getBlobStore(); $dataItem = $dataValue->getDataItem(); $hash = $this->cachedPropertyValuesPrefetcher->createHashFromString($property->getKey() . ':' . $dataItem->getHash()); $container = $blobStore->read($hash); $key = 'PVUC'; if (!$container->has($key)) { $page = $this->tryFindMatchResultFor($hash, $dataValue); $container->set($key, $page); $blobStore->save($container); } $wikiPage = $container->get($key); // Verify that the contextPage (where the annotation has its origin) is // matchable to the request and in case it is not a match inform the user // about the origin if ($wikiPage instanceof DIWikiPage && !$dataValue->getContextPage()->equals($wikiPage)) { $dataValue->addErrorMsg(array('smw-datavalue-uniqueness-constraint-error', $property->getLabel(), $dataValue->getWikiValue(), $wikiPage->getTitle()->getPrefixedText())); $this->hasConstraintViolation = true; } }
/** * @see ApiBase::execute */ public function execute() { $params = $this->extractRequestParams(); $propertyListByApiRequest = new PropertyListByApiRequest(ApplicationFactory::getInstance()->getStore()); $propertyListByApiRequest->setLimit($params['limit']); $propertyListByApiRequest->findPropertyListFor($params['property']); foreach ($propertyListByApiRequest->getNamespaces() as $ns) { $uri = NamespaceUriFinder::getUri($ns); if (!$uri) { continue; } $this->getResult()->addValue(null, 'xmlns:' . $ns, $uri); } $data = $propertyListByApiRequest->getPropertyList(); // I'm without words for this utter nonsense introduced here // because property keys can have a underscore _MDAT or for that matter // any other data field can // https://www.mediawiki.org/wiki/API:JSON_version_2 // " ... can indicate that a property beginning with an underscore is not metadata using" if (method_exists($this->getResult(), 'setPreserveKeysList')) { $this->getResult()->setPreserveKeysList($data, array_keys($data)); } $this->getResult()->addValue(null, 'query', $data); $this->getResult()->addValue(null, 'version', 0.1); $this->getResult()->addValue(null, 'query-continue-offset', $propertyListByApiRequest->getContinueOffset()); $this->getResult()->addValue(null, 'meta', $propertyListByApiRequest->getMeta()); }
protected function setUp() { parent::setUp(); $this->applicationFactory = ApplicationFactory::getInstance(); $settings = Settings::newFromArray(array('smwgDeclarationProperties' => array('_PVAL'), 'smwgCacheType' => 'hash', 'smwgEnableUpdateJobs' => false)); $this->applicationFactory->registerObject('Settings', $settings); }
/** * @since 2.4 * * @param Store $store * @param CompositePropertyTableDiffIterator $compositePropertyTableDiffIterator * * @return EntityIdListRelevanceDetectionFilter */ public function newEntityIdListRelevanceDetectionFilter(Store $store, CompositePropertyTableDiffIterator $compositePropertyTableDiffIterator) { $entityIdListRelevanceDetectionFilter = new EntityIdListRelevanceDetectionFilter($store, $compositePropertyTableDiffIterator); $entityIdListRelevanceDetectionFilter->setPropertyExemptionlist(ApplicationFactory::getInstance()->getSettings()->get('smwgQueryDependencyPropertyExemptionlist')); $entityIdListRelevanceDetectionFilter->setAffiliatePropertyDetectionlist(ApplicationFactory::getInstance()->getSettings()->get('smwgQueryDependencyAffiliatePropertyDetectionlist')); return $entityIdListRelevanceDetectionFilter; }
/** * @since 1.9 * * @return true */ public function process() { $applicationFactory = ApplicationFactory::getInstance(); // Delete all data for a non-enabled target NS if (!$applicationFactory->getNamespaceExaminer()->isSemanticEnabled($this->newTitle->getNamespace()) || $this->newId == 0) { $applicationFactory->getStore()->deleteSubject($this->oldTitle); } else { // Using a different approach since the hook is not triggered // by #REDIRECT which can cause inconsistencies // @see 2.3 / StoreUpdater // $applicationFactory->getStore()->changeTitle( // $this->oldTitle, // $this->newTitle, // $this->oldId, // $this->newId // ); } $eventHandler = EventHandler::getInstance(); $dispatchContext = $eventHandler->newDispatchContext(); $dispatchContext->set('title', $this->oldTitle); $eventHandler->getEventDispatcher()->dispatch('cached.propertyvalues.prefetcher.reset', $dispatchContext); $dispatchContext = $eventHandler->newDispatchContext(); $dispatchContext->set('title', $this->newTitle); $eventHandler->getEventDispatcher()->dispatch('cached.propertyvalues.prefetcher.reset', $dispatchContext); return true; }
protected function setUp() { parent::setUp(); $this->mwHooksHandler = UtilityFactory::getInstance()->newMwHooksHandler(); $this->mwHooksHandler->deregisterListedHooks(); $this->applicationFactory = ApplicationFactory::getInstance(); }
protected function setUp() { parent::setUp(); $this->applicationFactory = ApplicationFactory::getInstance(); $this->mwHooksHandler = UtilityFactory::getInstance()->newMwHooksHandler(); $this->mwHooksHandler->deregisterListedHooks(); $this->mwHooksHandler->register('ParserAfterTidy', $this->mwHooksHandler->getHookRegistry()->getDefinition('ParserAfterTidy')); }
/** * @see Job::run * * @since 2.5 */ public function run() { $fulltextSearchTableFactory = new FulltextSearchTableFactory(); $textByChangeUpdater = $fulltextSearchTableFactory->newTextByChangeUpdater(ApplicationFactory::getInstance()->getStore('\\SMW\\SQLStore\\SQLStore')); $textByChangeUpdater->pushUpdatesFromJobParameters($this->params); Hooks::run('SMW::Job::AfterSearchTableUpdateComplete', array($this)); return true; }
/** * @since 1.9 * * @param ParserData $parserData * @param MagicWordsFinder $magicWordsFinder * @param RedirectTargetFinder $redirectTargetFinder */ public function __construct(ParserData $parserData, MagicWordsFinder $magicWordsFinder, RedirectTargetFinder $redirectTargetFinder) { $this->parserData = $parserData; $this->magicWordsFinder = $magicWordsFinder; $this->redirectTargetFinder = $redirectTargetFinder; $this->dataValueFactory = DataValueFactory::getInstance(); $this->applicationFactory = ApplicationFactory::getInstance(); }
/** * @since 1.9 * * @param Store $store * @param ParserData $parserData * @param MessageBuilder $messageBuilder */ public function __construct(Store $store, ParserData $parserData, MessageBuilder $messageBuilder) { $this->store = $store; $this->parserData = $parserData; $this->messageBuilder = $messageBuilder; $this->applicationFactory = ApplicationFactory::getInstance(); $this->dataValueFactory = DataValueFactory::getInstance(); }
/** * @see SMWOrderedListPage::initParameters() * @note We use a smaller limit here; property pages might become large. */ protected function initParameters() { global $smwgPropertyPagingLimit; $this->limit = $smwgPropertyPagingLimit; $this->mProperty = SMWDIProperty::newFromUserLabel($this->mTitle->getText()); $this->store = ApplicationFactory::getInstance()->getStore(); return true; }
/** * @since 2.2 * * @param Store $store * @param Callable|null $reporterCallback * * @return ConceptCacheRebuilder */ public function newConceptCacheRebuilder(Store $store, $reporterCallback = null) { $messageReporter = MessageReporterFactory::getInstance()->newObservableMessageReporter(); $messageReporter->registerReporterCallback($reporterCallback); $conceptCacheRebuilder = new ConceptCacheRebuilder($store, ApplicationFactory::getInstance()->getSettings()); $conceptCacheRebuilder->setMessageReporter($messageReporter); return $conceptCacheRebuilder; }
protected function setUp() { parent::setUp(); $this->applicationFactory = ApplicationFactory::getInstance(); $this->mwHooksHandler = UtilityFactory::getInstance()->newMwHooksHandler(); $this->mwHooksHandler->deregisterListedHooks(); $this->mwHooksHandler->register('InternalParseBeforeLinks', $this->mwHooksHandler->getHookRegistry()->getHandlerFor('InternalParseBeforeLinks')); }