SimplePortletWindowSession windowSession,
User user,
Request request) {
try {
PortletDriver portletDriver = consumerEnvironment.getPortletDriverRegistry().getPortletDriver(portlet);
BlockingInteractionResponse response = portletDriver.performBlockingInteraction(
new WSRPRequestImpl(windowSession, request, consumerEnvironment), user.getUserID());
if (response != null) {
UpdateResponse update = response.getUpdateResponse();
if (update != null) {
//update the WSRP portlet sessionContext
windowSession.getPortletSession().setSessionContext(update.getSessionContext());
MarkupContext markupContext = update.getMarkupContext();
if (markupContext != null) {
windowSession.updateMarkupCache(markupContext);
}
windowSession.setNavigationalState(update.getNavigationalState());
String windowState = null;
if ((windowState = update.getNewWindowState()) != null) {
windowSession.setWindowState(windowState);
}
String windowMode = null;
if ((windowMode = update.getNewMode()) != null) {
windowSession.setMode(windowMode);
}
} else if (response.getRedirectURL() != null) {
this.getLogger().debug("response.getRedirectURL() != null");
}
}
} catch (WSRPException e) {
this.getLogger().error("Error occured during performInteraction!", e);