Changeset 1408

Show
Ignore:
Timestamp:
03/10/08 18:58:22 (7 months ago)
Author:
mikey
Message:

website initializer now makes use of general purpose initializer

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/websites/stubDefaultWebsiteInitializer.php

    r1406 r1408  
    2222{ 
    2323    /** 
     24     * general purpose initializer 
     25     * 
     26     * @var  stubGeneralInitializer 
     27     */ 
     28    protected $generalInitializer; 
     29    /** 
    2430     * default mode to be used 
    2531     * 
     
    3137     * constructor 
    3238     * 
    33      * @param  bool      $loggingEnabled  optional  switch whether logging is enabled or not 
    34      * @param  stubMode  $defaultMode     optional  default mode to be used 
     39     * @param  stubGeneralInitializer  $generalInitializer  optional  general purpose initializer to be used 
     40     * @param  stubMode                $defaultMode         optional  default mode to be used 
    3541     */ 
    36     public function __construct(stubMode $defaultMode = null) 
     42    public function __construct(stubGeneralInitializer $generalInitializer = null, stubMode $defaultMode = null) 
    3743    { 
    38         $this->defaultMode = $defaultMode; 
     44        $this->generalInitializer = $generalInitializer; 
     45        $this->defaultMode        = $defaultMode; 
    3946    } 
    4047 
     
    7582 
    7683    /** 
     84     * checks whether a general purpose initializer is set 
     85     * 
     86     * @return  bool 
     87     */ 
     88    public function hasGeneralInitializer() 
     89    { 
     90        return (null !== $this->generalInitializer); 
     91    } 
     92 
     93    /** 
     94     * returns the general purpose initializer 
     95     * 
     96     * @return  stubGeneralInitializer 
     97     */ 
     98    public function getGeneralInitializer() 
     99    { 
     100        return $this->generalInitializer; 
     101    } 
     102 
     103    /** 
    77104     * returns the interceptor initializer to be used 
    78105     * 
  • trunk/src/main/php/net/stubbles/websites/stubFrontController.php

    r1406 r1408  
    6262        $websiteInitializer->init(); 
    6363        $websiteInitializer->getRegistryInitializer()->init(); 
     64        if ($websiteInitializer->hasGeneralInitializer() === true) { 
     65            $websiteInitializer->getGeneralInitializer()->init(); 
     66        } 
     67         
    6468        $this->websiteInitializer = $websiteInitializer; 
    6569        $this->createInstances(); 
  • trunk/src/main/php/net/stubbles/websites/stubWebsiteInitializer.php

    r1406 r1408  
    99stubClassLoader::load('net::stubbles::lang::stubInitializer', 
    1010                      'net::stubbles::ipo::interceptors::stubInterceptorInitializer', 
     11                      'net::stubbles::util::stubGeneralInitializer', 
    1112                      'net::stubbles::util::stubRegistryInitializer', 
    1213                      'net::stubbles::websites::processors::stubProcessorResolverFactory' 
     
    2829 
    2930    /** 
     31     * checks whether a general purpose initializer is set 
     32     * 
     33     * @return  bool 
     34     */ 
     35    public function hasGeneralInitializer(); 
     36 
     37    /** 
     38     * returns the general purpose initializer 
     39     * 
     40     * @return  stubGeneralInitializer 
     41     */ 
     42    public function getGeneralInitializer(); 
     43 
     44    /** 
    3045     * returns the interceptor initializer to be used 
    3146     * 
  • trunk/src/test/php/net/stubbles/websites/stubDefaultWebsiteInitializerTestCase.php

    r1407 r1408  
    3737    public function initShouldSetCurrentModeToGivenDefaultMode() 
    3838    { 
    39         $websiteInitializer = new stubDefaultWebsiteInitializer(stubMode::$DEV); 
     39        $websiteInitializer = new stubDefaultWebsiteInitializer(null, stubMode::$DEV); 
    4040        $websiteInitializer->init(); 
    4141        $this->assertSame(stubMode::$DEV, stubMode::$CURRENT); 
     
    5353        $websiteInitializer = new stubDefaultWebsiteInitializer(); 
    5454        $this->assertType('stubRegistryInitializer', $websiteInitializer->getRegistryInitializer()); 
     55        $this->assertFalse($websiteInitializer->hasGeneralInitializer()); 
     56        $this->assertNull($websiteInitializer->getGeneralInitializer()); 
     57        $this->assertType('stubInterceptorInitializer', $websiteInitializer->getInterceptorInitializer()); 
     58        $this->assertType('stubProcessorResolverFactory', $websiteInitializer->getProcessorResolverFactory()); 
     59    } 
     60 
     61    /** 
     62     * correct initializer instances should be returned 
     63     * 
     64     * @test 
     65     */ 
     66    public function withGeneralInitializer() 
     67    { 
     68        $generalInitializer = new stubGeneralInitializer(); 
     69        $websiteInitializer = new stubDefaultWebsiteInitializer($generalInitializer); 
     70        $this->assertType('stubRegistryInitializer', $websiteInitializer->getRegistryInitializer()); 
     71        $this->assertTrue($websiteInitializer->hasGeneralInitializer()); 
     72        $this->assertSame($generalInitializer, $websiteInitializer->getGeneralInitializer()); 
    5573        $this->assertType('stubInterceptorInitializer', $websiteInitializer->getInterceptorInitializer()); 
    5674        $this->assertType('stubProcessorResolverFactory', $websiteInitializer->getProcessorResolverFactory()); 
  • trunk/src/test/php/net/stubbles/websites/stubFrontControllerTestCase.php

    r1406 r1408  
    130130        stubRegistry::setConfig(stubSession::CLASS_REGISTRY_KEY, get_class($this->getMock('stubSession'))); 
    131131        $mockWebsiteInitializer->expects($this->once())->method('getRegistryInitializer')->will($this->returnValue($this->getMock('stubRegistryInitializer'))); 
     132        $mockWebsiteInitializer->expects($this->once())->method('hasGeneralInitializer')->will($this->returnValue(true)); 
     133        $generalInitializer = $this->getMock('stubInitializer'); 
     134        $generalInitializer->expects($this->once())->method('init'); 
     135        $mockWebsiteInitializer->expects($this->once())->method('getGeneralInitializer')->will($this->returnValue($generalInitializer)); 
    132136        $this->frontController = new TeststubFrontController($mockWebsiteInitializer); 
    133137