/** * 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); }
/** * 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(); }
/** * 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; }
/** * 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); }
/** * 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); }