Building on XWork
This page describes aspects of Ti that build on XWork.
ControllerAction
src/java/org/apache/ti/processor/ControllerAction.java is a thin wrapper around a Controller object and is the key integration point between XWork and Ti. To support the special handling of this action, the following classes need to replace their XWork equivalences:
XWork Interface |
Ti Impl |
Description |
[src/java/org/apache/ti/processor/SpringObjectFactory.java SpringObjectFactory] |
Overrides buildAction to support the Action class actually being a Controller, and if so, wrapping it in a ControllerAction. If not, delegate to old behavior. It is important this extension is used by the custom ActionInvocation instance since it is called by the configuration during initialization. |
|
[src/java/org/apache/ti/processor/SpringActionProxyFactory.java SpringActionProxyFactory] |
Overrides createActionInvocation(*) methods to return [src/java/org/apache/ti/processor/ControllerActionInvocation.java ControllerActionInvocation]. |
|
[src/java/org/apache/ti/processor/ControllerActionInvocation.java ControllerActionInvocation] |
Provides special handling if Action is a ControllerAction. If not, delegate to old behavior. |
At this point, the ControllerAction integration doesn't really do much other than allow an Action to a POJO, however, in the future, Page Flow capabilities will be added, probably to [src/java/org/apache/ti/processor/ControllerActionInvocation.java ControllerActionInvocation].