Ignore:
Timestamp:
15/12/08 09:22:56 (11 years ago)
Author:
cbyrom
Message:

Improve error handling in the atom controllers + refactor ndgInterface
to remove code from constructor to allow dependency injection - to
improve flexibility and testability. Also, change ambiguous naming
references in classes to minimise codeword overaps/confusion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • MILK/trunk/milk_server/milk_server/lib/ndgInterface.py

    r4535 r4625  
    2424     
    2525    def __init__(self): 
    26         ''' Instantiate with three level cache: 
     26        ''' 
     27        Constructor to set up object 
     28        ''' 
     29        self.CSMLDataCache = None 
     30        self.CSMLDocCache = None 
     31        self.XMLHCache = None 
     32 
     33         
     34    def SetupCaches(self, csmlDataCache = None, csmlDocCache = None, \ 
     35                    xmlHCache = None): 
     36        '''  
     37        Set up the required three level cache: 
    2738                - a file cache 
    2839                - a xmlhandler object cache, and 
    29                 - a parsed CSML object cache.''' 
    30  
    31         self.CSMLDataCache=CSMLExtractCache( 
     40                - a parsed CSML object cache. 
     41        @keyword csmlDataCache: an alternative csmlDataCache to use 
     42        @keyword csmlDocCache: an alternative csmlDocCache to use 
     43        @keyword xmlHCache: an alternative xmlHCache to use  
     44        ''' 
     45        logging.info("Setting up ndgInterface caches") 
     46        if csmlDataCache: 
     47            self.CSMLDataCache = csmlDataCache 
     48        else: 
     49            self.CSMLDataCache=CSMLExtractCache( 
    3250                request.environ['paste.config']['app_conf']['tmp_dir'],max_size=10) 
    33         self.CSMLDocCache=Cache(max_size=10) 
    34         self.XMLHCache=Cache(max_size=10) 
     51         
     52        if csmlDocCache: 
     53            self.CSMLDocCache = csmlDocCache 
     54        else: 
     55            self.CSMLDocCache=Cache(max_size=10) 
     56         
     57        if xmlHCache: 
     58            self.XMLHCache = xmlHCache 
     59        else: 
     60            self.XMLHCache=Cache(max_size=10) 
     61        logging.info("Finished setting up caches") 
    3562         
    3663 
     
    74101        else: 
    75102            try: 
     103                if not self.XMLHCache: 
     104                    self.SetupCaches() 
     105                     
    76106                xmlh=self.XMLHCache[uri] 
    77107                status=1 
     
    147177        r=f.read() 
    148178        return 1,r      
    149         
    150  
    151  
    152 interface=ndgInterface() 
Note: See TracChangeset for help on using the changeset viewer.