protected function tearDown()
 {
     parent::tearDown();
     class_module_search_objectdeletedlistener::$BIT_UPDATE_INDEX_ON_END_OF_REQUEST = true;
     class_module_search_recordupdatedlistener::$BIT_UPDATE_INDEX_ON_END_OF_REQUEST = true;
 }
    /**
     * Triggered as soon as a record is updated
     *
     * @param string $strEventName
     * @param array $arrArguments
     *
     * @return bool
     */
    public function handleEvent($strEventName, array $arrArguments)
    {
        $objRecord = $arrArguments[0];
        if (self::$BIT_UPDATE_INDEX_ON_END_OF_REQUEST) {
            class_module_search_request_endprocessinglistener::addIdToIndex($objRecord);
        } else {
            $objIndex = new class_module_search_indexwriter();
            $objIndex->indexObject($objRecord);
        }
        return true;
    }
    /**
     * Internal init to register the event listener, called on file-inclusion, e.g. by the class-loader
     * @return void
     */
    public static function staticConstruct()
    {
        class_core_eventdispatcher::getInstance()->removeAndAddListener(class_system_eventidentifier::EVENT_SYSTEM_RECORDUPDATED, new class_module_search_recordupdatedlistener());
    }
}
//register the listener
class_module_search_recordupdatedlistener::staticConstruct();