protected function constructFilterObject($filterConfiguration)
{
$filterClassName = $this->resolveFilterClass($filterConfiguration['type']);
$filter = new $filterClassName();
foreach ($filterConfiguration['settings'] as $propertyName => $propertyValue) {
$setterName = 'set' . ucfirst($propertyName);
if (method_exists($filter, $setterName)) {
$filter->{$setterName}($propertyValue);
} else {
throw new MigrationException('Filter "' . $filterClassName . '" does not have a setter for "' . $propertyName . '", so maybe it is not supported.', 1343199531);
}
}
return $filter;
}