Changeset 1451
- Timestamp:
- 01/01/07 20:08:37 (2 years ago)
- Location:
- branches/david-execution_flow
- Files:
-
- 2 removed
- 7 modified
-
samples/app/config/factories.xml (modified) (2 diffs)
-
src/action/AgaviActionStack.class.php (deleted)
-
src/action/AgaviActionStackEntry.class.php (deleted)
-
src/buildtools/code_templates/config/factories.xml (modified) (2 diffs)
-
src/config/AgaviFactoryConfigHandler.class.php (modified) (2 diffs)
-
src/config/defaults/compile.xml (modified) (1 diff)
-
src/config/xsd/factories.xsd (modified) (2 diffs)
-
src/controller/AgaviController.class.php (modified) (2 diffs)
-
src/controller/AgaviExecutionContainer.class.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/david-execution_flow/samples/app/config/factories.xml
r1342 r1451 26 26 <configuration> 27 27 28 <action_stack class="AgaviActionStack" />29 30 28 <controller class="AgaviWebController" /> 31 29 … … 33 31 34 32 <dispatch_filter class="AgaviDispatchFilter" /> 33 34 <execution_container class="AgaviExecutionContainer" /> 35 35 36 36 <execution_filter class="AgaviExecutionFilter" /> -
branches/david-execution_flow/src/buildtools/code_templates/config/factories.xml
r1290 r1451 35 35 <configuration> 36 36 37 <action_stack class="AgaviActionStack" />38 39 37 <controller class="AgaviWebController" /> 40 38 … … 42 40 43 41 <dispatch_filter class="AgaviDispatchFilter" /> 42 43 <execution_container class="AgaviExecutionContainer" /> 44 44 45 45 <execution_filter class="AgaviExecutionFilter" /> -
branches/david-execution_flow/src/config/AgaviFactoryConfigHandler.class.php
r1367 r1451 60 60 $data = array(); 61 61 foreach($configurations as $cfg) { 62 // Class names for ActionStack, DispatchFilter, ExecutionFilter, FilterChain, Response and SecurityFilter63 if(isset($cfg-> action_stack)) {64 $data[' action_stack'] = isset($data['action_stack']) ? $data['action_stack'] : array('class' => null, 'params' => array());65 $data[' action_stack']['class'] = $cfg->action_stack->hasAttribute('class')? $cfg->action_stack->getAttribute('class') : $data['action_stack']['class'];66 $data[' action_stack']['params'] = $this->getItemParameters($cfg->action_stack, $data['action_stack']['params']);67 68 $data[' action_stack_code'] = '$this->factories["action_stack"] = array("class" => "' . $data['action_stack']['class'] . '", "parameters" => ' . var_export($data['action_stack']['params'], true) . ');';62 // Class names for Execution Container, DispatchFilter, ExecutionFilter, FilterChain, Response and SecurityFilter 63 if(isset($cfg->execution_container)) { 64 $data['execution_container'] = isset($data['execution_container']) ? $data['execution_container'] : array('class' => null, 'params' => array()); 65 $data['execution_container']['class'] = $cfg->execution_container->hasAttribute('class')? $cfg->execution_container->getAttribute('class') : $data['execution_container']['class']; 66 $data['execution_container']['params'] = $this->getItemParameters($cfg->execution_container, $data['execution_container']['params']); 67 68 $data['execution_container_code'] = '$this->factories["execution_container"] = array("class" => "' . $data['execution_container']['class'] . '", "parameters" => ' . var_export($data['execution_container']['params'], true) . ');'; 69 69 } 70 70 … … 230 230 // name => required? 231 231 $requiredItems = array( 232 ' action_stack' => true,232 'execution_container' => true, 233 233 'dispatch_filter' => true, 234 234 'execution_filter' => true, -
branches/david-execution_flow/src/config/defaults/compile.xml
r1448 r1451 41 41 <compile>%core.agavi_dir%/util/AgaviArrayPathDefinition.class.php</compile> 42 42 <compile>%core.agavi_dir%/action/AgaviAction.class.php</compile> 43 <compile>%core.agavi_dir%/action/AgaviActionStack.class.php</compile>44 <compile>%core.agavi_dir%/action/AgaviActionStackEntry.class.php</compile>45 43 <compile>%core.agavi_dir%/core/AgaviContext.class.php</compile> 46 44 <compile>%core.agavi_dir%/controller/AgaviController.class.php</compile> -
branches/david-execution_flow/src/config/xsd/factories.xsd
r1386 r1451 10 10 <xs:complexType> 11 11 <xs:all> 12 <xs:element name="action_stack" minOccurs="0">13 <xs:complexType>14 <xs:sequence>15 <xs:group ref="parameters" />16 </xs:sequence>17 <xs:attribute name="class" type="xs:string" use="required" />18 </xs:complexType>19 </xs:element>20 12 <xs:element name="controller" minOccurs="0"> 21 13 <xs:complexType> … … 35 27 </xs:element> 36 28 <xs:element name="dispatch_filter" minOccurs="0"> 29 <xs:complexType> 30 <xs:sequence> 31 <xs:group ref="parameters" /> 32 </xs:sequence> 33 <xs:attribute name="class" type="xs:string" use="required" /> 34 </xs:complexType> 35 </xs:element> 36 <xs:element name="execution_container" minOccurs="0"> 37 37 <xs:complexType> 38 38 <xs:sequence> -
branches/david-execution_flow/src/controller/AgaviController.class.php
r1448 r1451 119 119 public function createExecutionContainer($moduleName, $actionName, array $parameters = array()) 120 120 { 121 $container = new AgaviExecutionContainer(); 122 $container->initialize($this->context, $moduleName, $actionName, $parameters); 121 // create a new filter chain 122 $ecfi = $this->context->getFactoryInfo('execution_container'); 123 $container = new $ecfi['class'](); 124 $container->initialize($this->context, $ecfi['parameters']); 125 $container->setModuleName($moduleName); 126 $container->setActionName($actionName); 127 $container->setParameters($parameters); 123 128 return $container; 124 129 } … … 333 338 $this->context = $response->getContext(); 334 339 335 $asfi = $this->context->getFactoryInfo('action_stack');336 $this->actionStack = new $asfi['class']();337 338 340 $cfg = AgaviConfig::get('core.config_dir') . '/output_types.xml'; 339 341 require(AgaviConfigCache::checkConfig($cfg, $this->context->getName())); -
branches/david-execution_flow/src/controller/AgaviExecutionContainer.class.php
r1448 r1451 80 80 * 81 81 * @param AgaviContext The current Context instance. 82 * 83 * @author David Zuelke <dz@bitxtender.com> 84 * @since 0.11.0 85 */ 86 public function initialize(AgaviContext $context, $moduleName, $actionName, array $parameters = array()) 87 { 88 $this->setModuleName($moduleName); 89 $this->setActionName($actionName); 90 91 $this->setParameters($parameters); 92 82 * @param array An array of initialization parameters. 83 * 84 * @author David Zuelke <dz@bitxtender.com> 85 * @since 0.11.0 86 */ 87 public function initialize(AgaviContext $context, array $parameters = array()) 88 { 93 89 $this->microtime = microtime(true); 94 90

