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;
 }
예제 #4
0
 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;
 }
예제 #10
0
 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);
 }
예제 #12
0
 /**
  * @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);
 }
예제 #13
0
 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();
 }
예제 #15
0
 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());
 }
예제 #20
0
 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;
 }
예제 #26
0
 /**
  * @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();
 }
예제 #27
0
파일: Factbox.php 프로젝트: whysasse/kmwiki
 /**
  * @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'));
 }