}
public void init( ContextFactoryConfiguration factoryCfg, ContextPartitionConfiguration cfg ) throws NamingException
{
AttributeTypeRegistry attributeTypeRegistry = factoryCfg.getGlobalRegistries().getAttributeTypeRegistry();
OidRegistry oidRegistry = factoryCfg.getGlobalRegistries().getOidRegistry();
ExpressionEvaluator evaluator = new ExpressionEvaluator( this, oidRegistry, attributeTypeRegistry );
ExpressionEnumerator enumerator = new ExpressionEnumerator( this, attributeTypeRegistry, evaluator );
this.searchEngine = new DefaultSearchEngine( this, evaluator, enumerator );
HashSet sysOidSet = new HashSet();
sysOidSet.add( Oid.EXISTANCE );
sysOidSet.add( Oid.HIERARCHY );
sysOidSet.add( Oid.UPDN );
sysOidSet.add( Oid.NDN );
sysOidSet.add( Oid.ONEALIAS );
sysOidSet.add( Oid.SUBALIAS );
sysOidSet.add( Oid.ALIAS );
Iterator i = cfg.getIndexedAttributes().iterator();
while( i.hasNext() )
{
String name = ( String ) i.next();
String oid = oidRegistry.getOid( name );
AttributeType type = attributeTypeRegistry.lookup( oid );
// check if attribute is a system attribute
if ( sysOidSet.contains( oid ) )
{
if ( oid.equals( Oid.EXISTANCE ) )