eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\TextLineConverter::toFieldDefinition PHP Method

toFieldDefinition() public method

Converts field definition data in $storageDef into $fieldDef.
public toFieldDefinition ( StorageFieldDefinition $storageDef, eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition $fieldDef )
$storageDef eZ\Publish\Core\Persistence\Legacy\Content\StorageFieldDefinition
$fieldDef eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition
    public function toFieldDefinition(StorageFieldDefinition $storageDef, FieldDefinition $fieldDef)
    {
        $validatorConstraints = array();
        if (isset($storageDef->dataInt1)) {
            $validatorConstraints[self::STRING_LENGTH_VALIDATOR_IDENTIFIER]['maxStringLength'] = $storageDef->dataInt1 != 0 ? (int) $storageDef->dataInt1 : null;
        }
        if (isset($storageDef->dataInt2)) {
            $validatorConstraints[self::STRING_LENGTH_VALIDATOR_IDENTIFIER]['minStringLength'] = $storageDef->dataInt2 != 0 ? (int) $storageDef->dataInt2 : null;
        }
        $fieldDef->fieldTypeConstraints->validators = $validatorConstraints;
        $fieldDef->defaultValue->data = $storageDef->dataText1 ?: null;
        $fieldDef->defaultValue->sortKey = $storageDef->dataText1 ?: '';
    }

Usage Example

 /**
  * @group fieldType
  * @group textLine
  * @covers \eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\TextLineConverter::toFieldDefinition
  */
 public function testToFieldDefinition()
 {
     $defaultText = 'This is a default value';
     $fieldDef = new PersistenceFieldDefinition();
     $storageDef = new StorageFieldDefinition(array('dataInt1' => 100, 'dataText1' => $defaultText));
     $this->converter->toFieldDefinition($storageDef, $fieldDef);
     self::assertSame(array(TextLineConverter::STRING_LENGTH_VALIDATOR_IDENTIFIER => array('maxStringLength' => 100)), $fieldDef->fieldTypeConstraints->validators);
     self::assertSame($defaultText, $fieldDef->defaultValue->data);
     self::assertSame($defaultText, $fieldDef->defaultValue->sortKey);
 }