1 package siouxsie.mvc.impl; 2 3 import siouxsie.mvc.IInitializerContainer; 4 5 import com.opensymphony.xwork2.ActionInvocation; 6 import com.opensymphony.xwork2.inject.Inject; 7 import com.opensymphony.xwork2.interceptor.Interceptor; 8 9 /** 10 * Interceptor that initialize action using a initializer container. 11 * @author Arnaud Cogoluegnes 12 * @version $Id$ 13 */ 14 public class InitializerInterceptor implements Interceptor { 15 16 @Inject 17 private IInitializerContainer initializerContainer; 18 19 /** 20 * 21 */ 22 private static final long serialVersionUID = 8593822173241908240L; 23 24 public void destroy() { 25 26 27 } 28 29 public void init() { 30 31 32 } 33 34 public String intercept(ActionInvocation actionInvocation) throws Exception { 35 getInitializerContainer().initializeAction( 36 actionInvocation.getAction() 37 ); 38 return actionInvocation.invoke(); 39 } 40 41 public IInitializerContainer getInitializerContainer() { 42 return initializerContainer; 43 } 44 45 public void setInitializerContainer(IInitializerContainer initializerContainer) { 46 this.initializerContainer = initializerContainer; 47 } 48 49 }