Beispiel #1
0
 /**
  * Returns the object with the given identifier
  *
  * @param string $identifier
  * @return VirtualObject
  */
 public function getObjectByIdentifier($identifier)
 {
     $configuration = $this->getConfiguration();
     $identifierProperty = $configuration->getIdentifier();
     $identifierKey = $configuration->getSourceKeyForProperty($identifierProperty);
     $objectConverter = $this->getObjectConverter();
     $query = array($identifierKey => $identifier);
     $rawObjectCollection = $this->backend->getObjectDataByQuery($this->getSourceIdentifier(), $query);
     foreach ($rawObjectCollection as $rawObjectData) {
         return $objectConverter->convertToVirtualObject($rawObjectData);
     }
     return NULL;
 }
Beispiel #2
0
 /**
  * @test
  */
 public function getObjectDataByQueryWithEmptyResult()
 {
     $query = array('uid' => time());
     $result = $this->fixture->getObjectDataByQuery(self::$testDatabaseTable, $query);
     $this->assertEmpty($result);
     $query = array('content_time' => time());
     $result = $this->fixture->getObjectDataByQuery(self::$testDatabaseTable, $query);
     $this->assertEmpty($result);
     $query = array('content_time' => time(), 'title' => 'Test entry');
     $result = $this->fixture->getObjectDataByQuery(self::$testDatabaseTable, $query);
     $this->assertEmpty($result);
     $query = array('content_time' => array('value' => 1395678400, 'operator' => QueryInterface::OPERATOR_LESS_THAN), 'title' => 'Test entry');
     $result = $this->fixture->getObjectDataByQuery(self::$testDatabaseTable, $query);
     $this->assertEmpty($result);
     $query = array('content_time' => array('value' => time(), 'operator' => QueryInterface::OPERATOR_GREATER_THAN_OR_EQUAL_TO), 'title' => 'Test entry');
     $result = $this->fixture->getObjectDataByQuery(self::$testDatabaseTable, $query);
     $this->assertEmpty($result);
     $query = array('title' => array('doNotEscapeValue' => 'title', 'value' => "'Test entry' and content_time = '" . time() . "'"));
     $result = $this->fixture->getObjectDataByQuery(self::$testDatabaseTable, $query);
     $this->assertEmpty($result);
 }