01: /*
02: * Created on 9 Sep 2007
03: */
04: package uk.org.ponder.rsf.swf.support;
05:
06: import uk.org.ponder.rsf.swf.viewparams.SWFViewParams;
07: import uk.org.ponder.rsf.viewstate.AnyViewParameters;
08: import uk.org.ponder.rsf.viewstate.ViewParameters;
09: import uk.org.ponder.rsf.viewstate.ViewParamsInterceptor;
10:
11: /** An "environmental" ViewParams adjuster, the purpose of which is primarily
12: * to wrap any URLs being rendered to the client back in a set of SWFViewParams
13: * so that they may access any current flow environment.
14: * @author Antranig Basman (antranig@caret.cam.ac.uk)
15: *
16: */
17:
18: public class SWFEnvironmentalInterceptor implements
19: ViewParamsInterceptor {
20:
21: private ViewParameters incoming;
22:
23: public void setViewParameters(ViewParameters incoming) {
24: this .incoming = incoming;
25: }
26:
27: public AnyViewParameters adjustViewParameters(
28: ViewParameters toadjust) {
29: AnyViewParameters this incoming = incoming.get();
30: if (this incoming instanceof SWFViewParams
31: && ((SWFViewParams) this incoming).flowExecutionKey != null) {
32: SWFViewParams togo = (SWFViewParams) thisincoming.copy();
33: togo.target = toadjust.copyBase();
34: togo.event = null;
35: return togo;
36: }
37: return null;
38: }
39:
40: }
|