/** * @since 1.9.0.1 * * @param DIWikiPage $subject */ protected function dispatchUpdateForSubject(DIWikiPage $subject) { Profiler::In(__METHOD__, true); $this->addUpdateJobsForProperties($this->store->getProperties($subject)); $this->addUpdateJobsForProperties($this->store->getInProperties($subject)); $this->addUpdateJobsFromSerializedData(); Profiler::Out(__METHOD__, true); return $this; }
private function assertInProperties(DIWikiPage $subject, array $semanticdata, $about) { if (!isset($semanticdata['inproperty-keys'])) { return; } $inProperties = $this->store->getInProperties($subject); $this->assertCount(count($semanticdata['inproperty-keys']), $inProperties, 'Failed asserting count for "inproperty-keys" in ' . $about . ' ' . implode(',', $inProperties)); $inpropertyValues = array(); foreach ($inProperties as $property) { $this->assertContains($property->getKey(), $semanticdata['inproperty-keys'], 'Failed asserting key for "inproperty-keys" in ' . $about); if (!isset($semanticdata['inproperty-values'])) { continue; } $values = $this->store->getPropertySubjects($property, $subject); foreach ($values as $value) { $inpropertyValues[] = $value->getSerialization(); } } foreach ($inpropertyValues as $value) { $this->assertContains($value, $semanticdata['inproperty-values'], 'Failed asserting values for "inproperty-values" in ' . $about); } }