protected function hydrateQueryOperation(QueryOperation $operation)
{
$operation->setAttributes($this->getAttributesToLdap($operation->getAttributes(), true, $this->schema, $this->alias));
// Only want it set if it wasn't explicitly set...
if ($this->schema && is_null($operation->getBaseDn())) {
$operation->setBaseDn($this->schema->getBaseDn());
}
// Empty check instead of null due to the way the BaseDN is set for a RootDSE query...
if (!empty($operation->getBaseDn()) && ParameterResolver::hasParameters($operation->getBaseDn())) {
$this->setDefaultParameters();
$operation->setBaseDn($this->resolveParameters(['baseDn' => $operation->getBaseDn()])['baseDn']);
}
// If null then we default to the domain config or the explicitly set value...
if ($this->schema && !is_null($this->schema->getUsePaging())) {
$operation->setUsePaging($this->schema->getUsePaging());
}
if ($this->schema && !is_null($this->schema->getScope())) {
$operation->setScope($this->schema->getScope());
}
if ($this->schema) {
$operation->addControl(...$this->schema->getControls());
}
if ($operation->getFilter() instanceof OperatorCollection) {
$this->convertValuesToLdap($operation->getFilter());
$operation->setFilter($operation->getFilter()->toLdapFilter($this->alias));
}
}