Changeset 2512
- Timestamp:
- 03/03/10 13:57:14 (5 months ago)
- Location:
- framework/trunk/src
- Files:
-
- 6 removed
- 3 modified
-
main/php/net/stubbles/ipo/interceptors/stubInterceptorXJConfInitializer.php (deleted)
-
main/php/net/stubbles/rdbms/ioc/stubDatabaseBindingModule.php (modified) (4 diffs)
-
main/php/net/stubbles/rdbms/stubDatabaseXJConfInitializer.php (deleted)
-
main/resources/build/initializers.ini (modified) (1 diff)
-
test/php/net/stubbles/integration/DatabaseTestCase.php (deleted)
-
test/php/net/stubbles/integration/InterceptorTestCase.php (deleted)
-
test/php/net/stubbles/ipo/interceptors/stubInterceptorXJConfInitializerTestCase.php (deleted)
-
test/php/net/stubbles/rdbms/ioc/stubDatabaseBindingModuleTestCase.php (modified) (2 diffs)
-
test/php/net/stubbles/rdbms/stubDatabaseXJConfInitializerTestCase.php (deleted)
Legend:
- Unmodified
- Added
- Removed
-
framework/trunk/src/main/php/net/stubbles/rdbms/ioc/stubDatabaseBindingModule.php
r2471 r2512 28 28 */ 29 29 protected $descriptor; 30 /** 31 * name of database initializer class to bind 32 * 33 * @var string 34 */ 35 protected $databaseInitializerClassName = 'net::stubbles::rdbms::stubPropertyBasedDatabaseInitializer'; 36 /** 37 * name of database connection provider class to bind 38 * 39 * @var string 40 */ 41 protected $databaseConnectionProviderClassName = 'net::stubbles::rdbms::ioc::stubDatabaseConnectionProvider'; 30 42 31 43 /** … … 42 54 43 55 /** 56 * static constructor 57 * 58 * @param bool $fallback optional whether to allow fallback to default connection if named connection does not exist 59 * @param string $descriptor optional descriptor for database initializer 60 * @return stubDatabaseBindingModule 61 * @since 1.2.0 62 */ 63 public static function create($fallback = true, $descriptor = null) 64 { 65 return new self($fallback, $descriptor); 66 } 67 68 /** 69 * sets name of database initializer class to bind 70 * 71 * @param string $databaseInitializerClassName 72 * @return stubDatabaseBindingModule 73 * @since 1.2.0 74 */ 75 public function setDatabaseInitializerClassName($databaseInitializerClassName) 76 { 77 $this->databaseInitializerClassName = $databaseInitializerClassName; 78 return $this; 79 } 80 81 /** 82 * sets name of database connection provider class to bind 83 * 84 * @param string $databaseConnectionProviderClassName 85 * @return stubDatabaseBindingModule 86 * @since 1.2.0 87 */ 88 public function setDatabaseConnectionProviderClassName($databaseConnectionProviderClassName) 89 { 90 $this->databaseConnectionProviderClassName = $databaseConnectionProviderClassName; 91 return $this; 92 } 93 94 /** 44 95 * configure the binder 45 96 * … … 49 100 { 50 101 $binder->bind('stubDatabaseInitializer') 51 ->to('net::stubbles::rdbms::stubDatabaseXJConfInitializer'); 102 ->to($this->databaseInitializerClassName); 103 $binder->bind('stubDatabaseConnection') 104 ->toProviderClass($this->databaseConnectionProviderClassName); 52 105 $binder->bindConstant() 53 106 ->named('net.stubbles.rdbms.fallback') … … 58 111 ->to($this->descriptor); 59 112 } 60 61 $binder->bind('stubDatabaseConnection')62 ->toProviderClass('net::stubbles::rdbms::ioc::stubDatabaseConnectionProvider');63 113 } 64 114 } -
framework/trunk/src/main/resources/build/initializers.ini
r2267 r2512 1 interceptors = "net::stubbles::ipo::interceptors::stubInterceptorXJConfInitializer"2 rdbms = "net::stubbles::rdbms::stubDatabaseXJConfInitializer"3 1 variantmanager = "net::stubbles::websites::variantmanager::stubVariantXJConfFactory" -
framework/trunk/src/test/php/net/stubbles/rdbms/ioc/stubDatabaseBindingModuleTestCase.php
r2471 r2512 27 27 $databaseBindingModule = new stubDatabaseBindingModule(); 28 28 $injector = new stubInjector(); 29 $databaseBindingModule->configure(new stubBinder($injector)); 29 $binder = new stubBinder($injector); 30 $binder->bindConstant() 31 ->named('net.stubbles.config.path') 32 ->to(TEST_SRC_PATH); 33 $databaseBindingModule->configure($binder); 30 34 $this->assertTrue($injector->hasBinding('stubDatabaseInitializer')); 31 $this->assertTrue($injector->has Binding(stubConstantBinding::TYPE,'net.stubbles.rdbms.fallback'));32 $this->assertFalse($injector->has Binding(stubConstantBinding::TYPE,'net.stubbles.rdbms.descriptor'));35 $this->assertTrue($injector->hasConstant('net.stubbles.rdbms.fallback')); 36 $this->assertFalse($injector->hasConstant('net.stubbles.rdbms.descriptor')); 33 37 $this->assertTrue($injector->hasBinding('stubDatabaseConnection')); 34 $this->assertType('stubDatabaseXJConfInitializer', $injector->getInstance('stubDatabaseInitializer')); 35 $this->assertTrue($injector->getInstance(stubConstantBinding::TYPE, 36 'net.stubbles.rdbms.fallback' 37 ) 38 ); 38 $this->assertType('stubPropertyBasedDatabaseInitializer', $injector->getInstance('stubDatabaseInitializer')); 39 $this->assertTrue($injector->getConstant('net.stubbles.rdbms.fallback')); 39 40 } 40 41 41 42 /** 42 43 * fallback disabled … … 46 47 public function fallbackDisabledDescriptorEnabled() 47 48 { 48 $databaseBindingModule = new stubDatabaseBindingModule(false, 'rdbms-prod'); 49 $mockDatabaseInitializerClassName = get_class($this->getMock('stubDatabaseInitializer')); 50 $mockDatabaseConnectionProviderClassName = get_class($this->getMock('stubInjectionProvider')); 51 $databaseBindingModule = stubDatabaseBindingModule::create(false, 'rdbms-prod') 52 ->setDatabaseInitializerClassName($mockDatabaseInitializerClassName) 53 ->setDatabaseConnectionProviderClassName($mockDatabaseConnectionProviderClassName); 49 54 $injector = new stubInjector(); 50 55 $databaseBindingModule->configure(new stubBinder($injector)); 51 56 $this->assertTrue($injector->hasBinding('stubDatabaseInitializer')); 52 $this->assertTrue($injector->has Binding(stubConstantBinding::TYPE,'net.stubbles.rdbms.fallback'));53 $this->assertTrue($injector->has Binding(stubConstantBinding::TYPE,'net.stubbles.rdbms.descriptor'));57 $this->assertTrue($injector->hasConstant('net.stubbles.rdbms.fallback')); 58 $this->assertTrue($injector->hasConstant('net.stubbles.rdbms.descriptor')); 54 59 $this->assertTrue($injector->hasBinding('stubDatabaseConnection')); 55 $this->assertType('stubDatabaseXJConfInitializer', $injector->getInstance('stubDatabaseInitializer')); 56 $this->assertFalse($injector->getInstance(stubConstantBinding::TYPE, 57 'net.stubbles.rdbms.fallback' 58 ) 59 ); 60 $this->assertEquals('rdbms-prod', $injector->getInstance(stubConstantBinding::TYPE, 61 'net.stubbles.rdbms.descriptor' 62 ) 63 ); 60 $this->assertType($mockDatabaseInitializerClassName, $injector->getInstance('stubDatabaseInitializer')); 61 $this->assertFalse($injector->getConstant('net.stubbles.rdbms.fallback')); 62 $this->assertEquals('rdbms-prod', $injector->getConstant('net.stubbles.rdbms.descriptor')); 64 63 } 65 64 }
