Changeset 770

Show
Ignore:
Timestamp:
07/17/07 22:06:16 (1 year ago)
Author:
schst
Message:

Use @Inject annotation to inject the session into a service instead of a a stubStatefulService interface

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/examples/service/RememberNameService.php

    r751 r770  
    88 */ 
    99 
    10 stubClassLoader::load('net.stubbles.service.stubStatefulService'); 
    11  
    1210/** 
    1311 * Simple service to demonstrate stateful services. 
    1412 * 
     13 * @Inject(Session) 
    1514 * @author      Stephan Schmidt <schst@stubbles.net> 
    1615 * @package     stubbles_examples 
    1716 * @subpackage  service 
    1817 */ 
    19 class RememberNameService implements stubStatefulService
     18class RememberNameService
    2019 
    2120    const SESSION_KEY_NAME = '__name__'; 
     
    2827    private $session; 
    2928 
     29    /** 
     30     * Inject the session 
     31     * 
     32     * @param stubSession $session 
     33     */ 
    3034    public function setSession(stubSession $session) { 
    3135        $this->session = $session; 
  • trunk/src/main/php/net/stubbles/websites/processors/stubJsonRpcProcessor.php

    r765 r770  
    1414                      'net.stubbles.service.annotations.stubWebMethodAnnotation', 
    1515                      'net.stubbles.service.stubStatefulService', 
    16                       'net.stubbles.util.encoding.stubEncodingHelper'); 
     16                      'net.stubbles.util.encoding.stubEncodingHelper', 
     17                      'net.stubbles.ioc.injection.injection'); 
    1718 
    1819/** 
     
    216217 
    217218        $instance = $clazz->newInstance(); 
    218         if ($clazz->implementsInterface('stubStatefulService')) { 
    219             $instance->setSession($this->session); 
    220         } 
     219        $injectionMap = new stubInjectionMap(); 
     220        $injectionMap->addInjection('Session', $this->session); 
     221 
     222        stubInjectAnnotation::factory($injectionMap, $instance); 
    221223        return $method->invokeArgs($instance, $params); 
    222224    }