}
}
// Check access controls on the entry and strip out
// any not allowed attributes.
SearchResultEntry searchEntry =
AccessControlConfigManager.getInstance().
getAccessControlHandler().filterEntry(this, entry);
LDAPPreReadResponseControl responseControl =
new LDAPPreReadResponseControl(preReadRequest.isCritical(),
searchEntry);
addResponseControl(responseControl);
}
if (postReadRequest != null)
{
Entry entry = newEntry.duplicate(true);
if (! postReadRequest.allowsAttribute(
DirectoryServer.getObjectClassAttributeType()))
{
entry.removeAttribute(
DirectoryServer.getObjectClassAttributeType());
}
if (! postReadRequest.returnAllUserAttributes())
{
Iterator<AttributeType> iterator =
entry.getUserAttributes().keySet().iterator();
while (iterator.hasNext())
{
AttributeType attrType = iterator.next();
if (! postReadRequest.allowsAttribute(attrType))
{
iterator.remove();
}
}
}
if (! postReadRequest.returnAllOperationalAttributes())
{
Iterator<AttributeType> iterator =
entry.getOperationalAttributes().keySet().iterator();
while (iterator.hasNext())
{
AttributeType attrType = iterator.next();
if (! postReadRequest.allowsAttribute(attrType))
{
iterator.remove();
}
}
}
// Check access controls on the entry and strip out
// any not allowed attributes.
SearchResultEntry searchEntry =
AccessControlConfigManager.getInstance().
getAccessControlHandler().filterEntry(this, entry);
LDAPPostReadResponseControl responseControl =
new LDAPPostReadResponseControl(searchEntry);