capture current view bug with double click login
deanhiller2000 May 13, 2010 7:25 PMIt appears but I am not 100% sure that there is a bug where 1. you use captureCurrentView before logging in and that redirects to login page and then when you double click the login button, you always get ConcurrentRequestTimeoutException(my timeout is 1 second).
My steps
1. pop url http://localhost:8080/scriptsplayer/script/2010000194 2. which redirects to login page 3. click login twice 4. exception every time.
I made the problem even simpler where the page being requested is this
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:a="http://richfaces.org/a4j"> <ui:composition template="/web/template.xhtml"> <ui:param name="page" value="home" /> <ui:define name="extraHeader"> </ui:define> <ui:define name="everyoneContent"> <div id="leftcolumn"> <div id="unlocked"></div> </div> <div id="rightcolumn"> <div id="la"> <br/> <br/> <p>Loading script...Please wait...</p> If the script does not load in 5 seconds, please click this url..<br/> <a href="#{facesContext.externalContext.request.scheme}://#{facesContext.externalContext.request.serverName}:#{facesContext.externalContext.request.serverPort}#{facesContext.externalContext.requestContextPath}/loading/#{loadScript.infoId}">ReLoad Script</a> <br/> If you click this link, the load process has to start over again so 99% of the time, not clicking it will be faster </div> </div> </ui:define> </ui:composition> </html>
and my pages file is
<page view-id="/secure/client/scripter/agent/loading.xhtml"> <rewrite pattern="/script/{infoid}"/> <param name="infoid" value="#{loadScript.infoId}" required="true"/> </page>
I also have some trivial stuff in the template as well...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:rich="http://richfaces.org/rich" xmlns:a="http://richfaces.org/a4j"> <head> <ui:insert name="extraHeader" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" /> <base href="#{globalMethods.base}/" /> <title>#{title} - Live Agent</title> <link rel="stylesheet" href="#{globalMethods.base}/res#{globalMethods.versionNum}/css/common.css" type="text/css" media="screen" /> <!--[if lt IE 7]> <link rel="stylesheet" href="#{globalMethods.base}/res#{globalMethods.versionNum}/css/common_ie6.css" type="text/css" media="screen" /> <![endif]--> <!--[if !IE]><!--> <link rel="stylesheet" href="#{globalMethods.base}/res#{globalMethods.versionNum}/css/common_moz.css" type="text/css" media="screen" /> <!--<![endif]--> <script type="text/javascript" src="#{globalMethods.base}/res#{globalMethods.versionNum}/js/BubbleTooltips.js"></script> </head> <body> <s:div rendered="#{development.development}"> <span style="background-color: red; font-size: 15px; position: fixed; top: 0px; left: 100px; z-index: 10000"> You are on a development machine </span> </s:div> <s:div rendered="#{development.test}"> <span style="background-color: green; font-size: 15px; position: fixed; top: 0px; left: 100px; z-index: 10000"> You are on a QA machine </span> </s:div> <rich:modalPanel id="progressPanel" height="70" width="270"> <f:facet name="header"> Please wait... </f:facet> <h:form id="form"> <div></div> </h:form> </rich:modalPanel> <a:region id="sync"> <div id="container"> <div id="header"><a:status id="commonstatus" for="sync" startStyleClass="loadingnote" startText="Loading..." stopText="" /> <!-- div id="blackstrip"></div> --> <div id="logobar"> <div id="logocontent"><f:subview rendered="#{identity.loggedIn}"> <div id="logout"> <span style="float: right; padding-right: 30px"><s:link action="#{identity.logout()}" styleClass="tabbuttonred"> <span>Logout</span> </s:link></span></div> </f:subview> <f:subview rendered="#{login.needLoginButton}"> <div id="logout"><span style="float: right; padding-right: 30px"><s:link view="/web/zlogin/login.xhtml" styleClass="tabbuttonred" propagation="none"> <span>Log in</span> </s:link></span></div> </f:subview> <div id="toolbar"></div> </div> </div> <div id="logostrip"> <div id="logo"><span>#{title}</span></div> </div> </div> <div id="trunk"> <div id="trunkcontent"><!-- <div id="boxtitle#{role}"></div>--> <div id="box"> <div id="boxcontent"><a:outputPanel id="errormessages"> <div id="ge"><h:messages globalOnly="true" /></div> </a:outputPanel> <ui:insert name="everyoneContent" /><br/></div> </div> <div id="boxfooter"></div> </div> </div> <div id="footer"> <div id="footercontent"> <div id="footerinfo"><h:outputText escape="false" value="&copy; 2009 to present BSG Clearing Solutions.Version=#{globalMethods.version}" /> <br /> </div> </div> </div> </div> </a:region> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-6941646-1"); pageTracker._trackPageview(); } catch(err) {}</script> </body> </html>
double click login makes this fail every time!!! it kinda sucks.