Author: rich Date: Wed Jun 15 07:58:45 2005 New Revision: 190754 URL: http://svn.apache.org/viewcvs?rev=190754&view=rev Log: Fix for http://issues.apache.org/jira/browse/BEEHIVE-814 : Provide ability to track lifetime of PageFlow instances
tests: bvt in netui (WinXP) BB: self (linux) Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/Controller.jpf (with props) incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/index.jsp (with props) incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CreateTime.xml (with props) Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java?rev=190754&r1=190753&r2=190754&view=diff ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java Wed Jun 15 07:58:45 2005 @@ -42,7 +42,16 @@ * Reference to the current ServletContext. */ private transient ServletContext _servletContext; + + /** + * Creation time. This is non-transient, so it gets replicated in a cluster. + */ + private long _createTime; + protected PageFlowManagedObject() + { + _createTime = System.currentTimeMillis(); + } /** * Reinitialize the object for a new request. Used by the framework; normally should not be called directly. @@ -202,5 +211,14 @@ _log.error( "Error initializing field " + field.getName() + " in " + getDisplayName(), e ); } } + } + + /** + * Get the time at which this object was created. + * @return the system time, in milliseconds, at which this object was created. + */ + public long getCreateTime() + { + return _createTime; } } Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/Controller.jpf URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/Controller.jpf?rev=190754&view=auto ============================================================================== --- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/Controller.jpf (added) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/Controller.jpf Wed Jun 15 07:58:45 2005 @@ -0,0 +1,35 @@ +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * $Header:$ + */ +package miniTests.createTime; + +import org.apache.beehive.netui.pageflow.PageFlowController; +import org.apache.beehive.netui.pageflow.annotations.Jpf; +import javax.servlet.http.HttpSession; + [EMAIL PROTECTED]( + simpleActions={ + @Jpf.SimpleAction(name="begin", path="index.jsp") + } +) +public class Controller extends PageFlowController +{ + public long getCurrentTime() + { + return System.currentTimeMillis(); + } +} Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/Controller.jpf ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/index.jsp URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/index.jsp?rev=190754&view=auto ============================================================================== --- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/index.jsp (added) +++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/index.jsp Wed Jun 15 07:58:45 2005 @@ -0,0 +1,25 @@ +<%@ page language="java" contentType="text/html;charset=UTF-8"%> +<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%> +<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%> +<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%> + + +<netui:html> + <head> + <netui:base/> + </head> + <netui:body> + <h3>${pageFlow.URI}</h3> + + This test ensures that the <code>getCreateTime</code> API exists and works properly + (as much as can be verified in an automated test). + <br/> + <br/> + Was the page flow created less than 10 seconds ago? + <b>${pageFlow.currentTime - pageFlow.createTime < 10000}</b> + + </netui:body> +</netui:html> + + + Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/createTime/index.jsp ------------------------------------------------------------------------------ svn:eol-style = native Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=190754&r1=190753&r2=190754&view=diff ============================================================================== --- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original) +++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Wed Jun 15 07:58:45 2005 @@ -1949,6 +1949,16 @@ </features> </test> <test> + <name>CreateTime</name> + <description>Test to ensure that the getCreateTime API exists and works properly (as much as can be verified in an automated test).</description> + <webapp>coreWeb</webapp> + <categories> + <category>bvt</category> + <category>bvt.struts11</category> + <category>corePageFlow</category> + </categories> + </test> + <test> <name>CtAnchorNullBinding</name> <description>Binding to null in the Anchor attributes</description> <webapp>coreWeb</webapp> Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CreateTime.xml URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CreateTime.xml?rev=190754&view=auto ============================================================================== --- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CreateTime.xml (added) +++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CreateTime.xml Wed Jun 15 07:58:45 2005 @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session"> + <ses:sessionName>CreateTime</ses:sessionName> + <ses:tester>rich</ses:tester> + <ses:startDate>14 Jun 2005, 09:54:03.131 PM MDT</ses:startDate> + <ses:description>Test to ensure that the getCreateTime API exists and works properly (as much as can be verified in an automated test).</ses:description> + <ses:tests> + <ses:test> + <ses:testNumber>1</ses:testNumber> + <ses:request> + <ses:protocol>HTTP</ses:protocol> + <ses:protocolVersion>1.1</ses:protocolVersion> + <ses:host>localhost</ses:host> + <ses:port>8080</ses:port> + <ses:uri>/coreWeb/miniTests/createTime/Controller.jpf</ses:uri> + <ses:method>GET</ses:method> + <ses:parameters/> + <ses:cookies> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>29650D14A737A50BD7C549D9E2713ABA</ses:value> + </ses:cookie> + <ses:cookie> + <ses:name>nde-textsize</ses:name> + <ses:value>16px</ses:value> + </ses:cookie> + <ses:cookie> + <ses:name>JSESSIONID</ses:name> + <ses:value>1b4sw6tbabbvh</ses:value> + </ses:cookie> + </ses:cookies> + <ses:headers> + <ses:header> + <ses:name>accept</ses:name> + <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-charset</ses:name> + <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-encoding</ses:name> + <ses:value>gzip,deflate</ses:value> + </ses:header> + <ses:header> + <ses:name>accept-language</ses:name> + <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value> + </ses:header> + <ses:header> + <ses:name>connection</ses:name> + <ses:value>keep-alive</ses:value> + </ses:header> + <ses:header> + <ses:name>cookie</ses:name> + <ses:value>JSESSIONID=29650D14A737A50BD7C549D9E2713ABA; nde-textsize=16px; JSESSIONID=1b4sw6tbabbvh</ses:value> + </ses:header> + <ses:header> + <ses:name>host</ses:name> + <ses:value>localhost:8080</ses:value> + </ses:header> + <ses:header> + <ses:name>keep-alive</ses:name> + <ses:value>300</ses:value> + </ses:header> + <ses:header> + <ses:name>user-agent</ses:name> + <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4</ses:value> + </ses:header> + </ses:headers> + </ses:request> + <ses:response> + <ses:statusCode>200</ses:statusCode> + <ses:reason/> + <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + + <head> + <base href="http://localhost:8080/coreWeb/miniTests/createTime/index.jsp"> + </head> + <body> + <h3>/miniTests/createTime/Controller.jpf</h3> + + This test ensures that the <code>getCreateTime</code> API exists and works properly + (as much as can be verified in an automated test). + <br/> + <br/> + Was the page flow created less than 10 seconds ago? + <b>true</b> + + </body> + +</html>]]></ses:responseBody> + </ses:response> + </ses:test> + </ses:tests> + <ses:endDate>14 Jun 2005, 09:54:09.310 PM MDT</ses:endDate> + <ses:testCount>1</ses:testCount> +</ses:recorderSession> Propchange: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CreateTime.xml ------------------------------------------------------------------------------ svn:eol-style = native