package org.apache.beehive.samples.netui.actioninterceptors;
import org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor;
import org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptorContext;
import org.apache.beehive.netui.pageflow.interceptor.action.AfterNestedInterceptContext;
import org.apache.beehive.netui.pageflow.interceptor.action.InterceptorForward;
import org.apache.beehive.netui.pageflow.interceptor.InterceptorChain;
import org.apache.beehive.netui.pageflow.interceptor.InterceptorException;
import java.net.URI;
import java.net.URISyntaxException;
/**
* This class is used by the "actioninterceptors" sample. It is registered in
* WEB-INF/beehive-netui-config.xml.
*/
public class MyInterceptor extends ActionInterceptor
{
/**
* Return a URI to a nested page flow, which will be "injected" before the desired action is run.
*/
public void preAction(ActionInterceptorContext context, InterceptorChain chain)
throws InterceptorException
{
System.out.println("in preAction() in " + getClass().getName());
try
{
URI uri = new URI("/actioninterceptors/nested/Controller.jpf");
setOverrideForward(new InterceptorForward(uri), context);
}
catch (URISyntaxException e)
{
throw new InterceptorException(e);
}
chain.continueChain();
}
/**
* This is called after our "injected" nested page flow is done, and before the original desired
* action is run.
*/
public void afterNestedIntercept(AfterNestedInterceptContext context) throws InterceptorException
{
System.out.println("in afterNestedIntercept() in " + getClass().getName());
}
/**
* This is called after the original desired action is run.
*/
public void postAction(ActionInterceptorContext context, InterceptorChain chain)
throws InterceptorException
{
System.out.println("in postAction() in " + getClass().getName());
chain.continueChain();
}
}