Changeset 5753

Show
Ignore:
Timestamp:
04/19/07 16:39:30 (2 years ago)
Author:
rambo
Message:

refactored DBA watch to single operation to avoid code duplication

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/midcom.helper.replicator/midcom/interfaces.php

    r5735 r5753  
    6868    } 
    6969 
    70     function _on_watched_dba_create($object) 
     70    function _on_watched_operation($operation, &$object) 
    7171    { 
    7272        if (   is_a($object, 'midcom_helper_replicator_subscription') 
     
    7474            ) 
    7575        { 
    76             // Never DBA queue subscription objects 
    77             return; 
    78         } 
    79         $qmanager =& midcom_helper_replicator_queuemanager::get(); 
    80         $qmanager->add_to_queue($object); 
    81     } 
    82  
    83     function _on_watched_dba_update($object) 
    84     { 
    85         if (   is_a($object, 'midcom_helper_replicator_subscription') 
    86             || is_a($object, 'midcom_services_at_entry') 
    87             ) 
    88         { 
    89             // Never DBA queue subscription  objects 
    90             return; 
    91         } 
    92         $qmanager =& midcom_helper_replicator_queuemanager::get(); 
    93         $qmanager->add_to_queue($object); 
    94     } 
    95  
    96     function _on_watched_dba_delete($object) 
    97     { 
    98         if (   is_a($object, 'midcom_helper_replicator_subscription') 
    99             || is_a($object, 'midcom_services_at_entry') 
    100             ) 
    101         { 
    102             // Never DBA queue subscription objects 
     76            // Never DBA queue subscription and AT entry objects 
    10377            return; 
    10478        } 
    10579        $qmanager =& midcom_helper_replicator_queuemanager::get(); 
    10680         
    107         // TODO: Better to refresh the object, but how... 
    108         /* metadata_deleted is read-only, we use the rewrite_delete argument in stead 
    109         $object->metadata->deleted = true; 
    110         */ 
    111          
    112         $qmanager->add_to_queue($object, true); 
     81        // Deletes require love 
     82        if ($operation === MIDCOM_OPERATION_DBA_DELETE) 
     83        { 
     84            $qmanager->add_to_queue($object, true); 
     85            return; 
     86        } 
     87        $qmanager->add_to_queue($object); 
    11388    } 
    11489