You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/06/15 16:58:46 UTC

svn commit: r190754 - in /incubator/beehive/trunk/netui: src/pageflow/org/apache/beehive/netui/pageflow/ test/webapps/drt/coreWeb/miniTests/createTime/ test/webapps/drt/testRecorder/config/ test/webapps/drt/testRecorder/tests/

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;
+
+@Jpf.Controller(
+    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