/**
  * Unserialize the given data
  *
  * @param string $string
  * @throws \Cundd\PersistentObjectStore\Serializer\Exception if the data could not be unserialized
  * @return mixed
  */
 public function unserialize($string)
 {
     $data = parent::unserialize($string);
     if ($data === NULL) {
         return NULL;
     }
     $databaseIdentifier = ObjectUtility::valueForKeyPathOfObject(Constants::DATA_META_KEY . '.' . Constants::DATA_DATABASE_KEY, $data, '');
     if ($databaseIdentifier) {
         GeneralUtility::assertDatabaseIdentifier($databaseIdentifier);
     }
     return new Document($data, $databaseIdentifier);
 }
Beispiel #2
0
 /**
  * Creates a new database
  *
  * @param string $identifier
  * @param array  $rawData
  */
 function __construct($identifier, $rawData = array())
 {
     GeneralUtility::assertDatabaseIdentifier($identifier);
     $this->identifier = $identifier;
     if ($rawData) {
         $this->setRawData($rawData);
     } else {
         $this->rawData = new SplFixedArray(0);
         $this->objectData = new SplFixedArray(0);
     }
     $this->indexes[] = new IdentifierIndex();
 }
Beispiel #3
0
 /**
  * Create a new RequestInfo object
  *
  * @param Request $request
  * @param string $dataIdentifier
  * @param string $databaseIdentifier
  * @param string $method
  * @param string $specialHandlerAction
  */
 function __construct($request, $dataIdentifier, $databaseIdentifier, $method, $specialHandlerAction = NULL)
 {
     if ($method) {
         GeneralUtility::assertRequestMethod($method);
     }
     if ($dataIdentifier) {
         GeneralUtility::assertDataIdentifier($dataIdentifier);
     }
     if ($databaseIdentifier) {
         GeneralUtility::assertDatabaseIdentifier($databaseIdentifier);
     }
     $this->method = $method;
     $this->dataIdentifier = $dataIdentifier;
     $this->databaseIdentifier = $databaseIdentifier;
     $this->specialHandlerAction = $specialHandlerAction ?: NULL;
     $this->request = $request;
 }
Beispiel #4
0
 /**
  * Returns if the database with the given identifier exists
  *
  * @param string $databaseIdentifier Unique identifier of the database
  * @return bool
  */
 public function databaseExists($databaseIdentifier)
 {
     GeneralUtility::assertDatabaseIdentifier($databaseIdentifier);
     if (Manager::hasObject($databaseIdentifier)) {
         return TRUE;
     }
     return $this->dataReader->databaseExists($databaseIdentifier);
 }
Beispiel #5
0
 /**
  * Returns the associated database
  *
  * @param string $databaseIdentifier
  */
 public function setDatabaseIdentifier($databaseIdentifier)
 {
     GeneralUtility::assertDatabaseIdentifier($databaseIdentifier);
     $this->databaseIdentifier = $databaseIdentifier;
 }
 /**
  * @test
  */
 public function assertDatabaseIdentifierTest()
 {
     GeneralUtility::assertDatabaseIdentifier('database');
     GeneralUtility::assertDatabaseIdentifier('my-database');
     GeneralUtility::assertDatabaseIdentifier('my_database');
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('my:database');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('my.database');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('this/folder');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('..');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('.');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('*****@*****.**');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('543fb69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('_543fb69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('@543fb69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('.543fb69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('-543fb69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('_543fb69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('ä43fbä69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
     $crashed = FALSE;
     try {
         GeneralUtility::assertDatabaseIdentifier('43fbä69d448766d1eeb2c62a');
     } catch (InvalidDatabaseIdentifierException $exception) {
         $crashed = TRUE;
     }
     $this->assertTrue($crashed);
 }