geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r290479 [13/16] - in /geronimo/trunk/sandbox/daytrader: ./ bin/ derby/ modules/ modules/core/ modules/core/src/ modules/core/src/conf/ modules/core/src/java/ modules/core/src/java/org/ modules/core/src/java/org/apache/ modules/core/src/java...
Date Tue, 20 Sep 2005 16:08:17 GMT
Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/register.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/register.jsp?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/register.jsp (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/register.jsp Tue Sep 20 09:07:08 2005
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<TITLE>Trade Registration</TITLE>
+<BODY bgcolor="#ffffff" link="#000099">
+<%@ page session="false" %>
+<% 
+String blank = "";
+String fakeCC = "123-fake-ccnum-456";
+String fullname =   request.getParameter ( "Full Name" );
+String snailmail=   request.getParameter ( "snail mail" );
+String email =      request.getParameter ( "email" ); 
+String userID =     request.getParameter ( "user id" ); 
+String money =      request.getParameter ( "money" ); 
+String creditcard = request.getParameter ( "Credit Card Number" );
+String results =   (String) request.getAttribute ( "results" );
+%>
+<TABLE style="font-size: smaller">
+  <TBODY>
+    <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10" colspan="5"><FONT color="#ffffff"><B>Trade Home</B></FONT></TD>
+            <TD align="center" bgcolor="#000000" width="100" height="10"><FONT color="#ffffff"><B>Trade</B></FONT></TD>
+    </TR>
+  </TBODY>
+</TABLE>
+<TABLE width="100%" height="30">
+  <TBODY>
+        <TR>
+      <TD align="center"></TD>
+      <TD><FONT color="#ff3333"><%= results==null ? blank : results %></FONT></TD>
+      <TD></TD>
+    </TR>
+  </TBODY>
+</TABLE>
+<TABLE width="90%">
+  <TBODY>
+    <TR>
+      <TD width="2%" bgcolor="#e7e4e7"></TD>
+      <TD width="98%" colspan="8"><B>Register</B>
+            <HR>
+      </TD>
+    </TR>
+    </TBODY>
+</TABLE>
+<FORM action="app">
+<TABLE width="90%">
+  <TBODY align="right">
+    <TR>
+      <TD width="2%" bgcolor="#e7e4e7" rowspan="11"></TD>
+      <TD width="33%" colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>Full name:</B></TD>
+      <TD width ="20%" colspan="2" align="right"><INPUT size="40" type="text" name="Full Name" value="<%= fullname==null ? blank : fullname %>"></TD>
+      <TD width="2%" bgcolor="#e7e4e7" rowspan="11"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>Address:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="text" name="snail mail" value="<%= snailmail==null ? blank : snailmail %>"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>E-Mail address:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="text" name="email" value="<%= email==null ? blank : email %>"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4">&nbsp;</TD>
+      <TD colspan="2" align="right">&nbsp;</TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>User ID:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="text" name="user id" value="<%= userID==null ? blank : userID %>"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><B><FONT COLOR="#FF0000">*</FONT>Password:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="password" name="passwd"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><B><FONT COLOR="#FF0000">*</FONT>Confirm password:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="password" name="confirm passwd"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4">&nbsp;</TD>
+      <TD colspan="2" align="right">&nbsp;</TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>Opening account balance:</B></TD>
+      <TD colspan="2" align="right">$<B> </B><INPUT size="20" type="text" name="money" value='<%= money==null ? "10000" : money %>'></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><B><FONT COLOR="#FF0000">*</FONT>Credit card number:</B></TD>
+      <TD colspan="2" align="right">&nbsp;&nbsp;<INPUT size="40" type="text" name="Credit Card Number" value="<%= creditcard==null ? fakeCC : creditcard %>" readonly></TD>
+    </TR>
+    <TR>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"><INPUT type="submit" value="Submit Registration"></TD>
+    </TR>
+    <TR>
+      <TD align="right" colspan="6"></TD>
+    </TR>
+    </TBODY>
+</TABLE>
+<INPUT type="hidden" name="action" value="register"></FORM>
+<TABLE height="54" style="font-size: smaller">
+  <TBODY>
+        <TR>
+            <TD colspan="2">
+            <HR>
+            </TD>
+        </TR>
+        <TR>
+            <TD colspan="2"></TD>
+        </TR>
+        <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10"><B><FONT color="#ffffff">Trade Home</FONT></B></TD>
+            <TD align="center" bgcolor="#000000" width="100" height="10"><FONT color="#ffffff"><B>Trade</B></FONT></TD>
+        </TR>
+        <TR>
+            <TD colspan="2" align="center"> Created&nbsp;with&nbsp;IBM WebSphere Application Server and WebSphere Studio Application Developer<BR>
+
+ 
+Copyright 2000, IBM Corporation</TD>
+        </TR>
+    </TBODY>
+</TABLE>
+</BODY>
+</HTML>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/registerImg.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/registerImg.jsp?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/registerImg.jsp (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/registerImg.jsp Tue Sep 20 09:07:08 2005
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<TITLE>Trade Registration</TITLE>
+<BODY bgcolor="#ffffff" link="#000099">
+<%@ page session="false" %>
+<% 
+String blank = "";
+String fakeCC = "123-fake-ccnum-456";
+String fullname =   request.getParameter ( "Full Name" );
+String snailmail=   request.getParameter ( "snail mail" );
+String email =      request.getParameter ( "email" ); 
+String userID =     request.getParameter ( "user id" ); 
+String money =      request.getParameter ( "money" ); 
+String creditcard = request.getParameter ( "Credit Card Number" );
+String results =   (String) request.getAttribute ( "results" );
+%>
+<TABLE style="font-size: smaller">
+  <TBODY>
+    <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10" colspan="5"><FONT color="#ffffff"><B>Trade Register</B></FONT></TD>
+			<TD align="center" bgcolor="#ffffff" width="100" height="10"><IMG src="images/tradeLogo.gif" border="0" width="45" height="19"></TD>
+		</TR>
+  </TBODY>
+</TABLE>
+<TABLE width="610" height="30">
+  <TBODY>
+        <TR>
+      <TD align="center"></TD>
+      <TD><FONT color="#ff3333"><%= results==null ? blank : results %></FONT></TD>
+			<TD width="120" align="right"><IMG src="images/graph.gif" width="32" height="32" border="0"></TD>
+		</TR>
+  </TBODY>
+</TABLE>
+<TABLE width="90%">
+  <TBODY>
+    <TR>
+      <TD width="2%" bgcolor="#e7e4e7"></TD>
+      <TD width="98%" colspan="8"><B>Register</B>
+            <HR>
+      </TD>
+    </TR>
+    </TBODY>
+</TABLE>
+<FORM action="app">
+<TABLE width="90%">
+  <TBODY align="right">
+    <TR>
+      <TD width="2%" bgcolor="#e7e4e7" rowspan="11"></TD>
+      <TD width="33%" colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>Full name:</B></TD>
+      <TD width ="20%" colspan="2" align="right"><INPUT size="40" type="text" name="Full Name" value="<%= fullname==null ? blank : fullname %>"></TD>
+      <TD width="2%" bgcolor="#e7e4e7" rowspan="11"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>Address:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="text" name="snail mail" value="<%= snailmail==null ? blank : snailmail %>"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>E-Mail address:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="text" name="email" value="<%= email==null ? blank : email %>"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4">&nbsp;</TD>
+      <TD colspan="2" align="right">&nbsp;</TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>User ID:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="text" name="user id" value="<%= userID==null ? blank : userID %>"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><B><FONT COLOR="#FF0000">*</FONT>Password:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="password" name="passwd"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><B><FONT COLOR="#FF0000">*</FONT>Confirm password:</B></TD>
+      <TD colspan="2" align="right"><INPUT size="40" type="password" name="confirm passwd"></TD>
+    </TR>
+    <TR>
+      <TD colspan="4">&nbsp;</TD>
+      <TD colspan="2" align="right">&nbsp;</TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><FONT COLOR="#FF0000">*</FONT><B>Opening account balance:</B></TD>
+      <TD colspan="2" align="right">$<B> </B><INPUT size="20" type="text" name="money" value='<%= money==null ? "10000" : money %>'></TD>
+    </TR>
+    <TR>
+      <TD colspan="4" align="right"><B><FONT COLOR="#FF0000">*</FONT>Credit card number:</B></TD>
+      <TD colspan="2" align="right">&nbsp;&nbsp;<INPUT size="40" type="text" name="Credit Card Number" value="<%= creditcard==null ? fakeCC : creditcard %>" readonly></TD>
+    </TR>
+    <TR>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"></TD>
+      <TD align="center"><INPUT type="submit" value="Submit Registration"></TD>
+    </TR>
+    <TR>
+      <TD align="right" colspan="6"></TD>
+    </TR>
+    </TBODY>
+</TABLE>
+<INPUT type="hidden" name="action" value="register"></FORM>
+<TABLE height="54" style="font-size: smaller">
+  <TBODY>
+        <TR>
+            <TD colspan="2">
+            <HR>
+            </TD>
+        </TR>
+        <TR>
+            <TD colspan="2"></TD>
+        </TR>
+        <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10"><B><FONT color="#ffffff">Trade Register</FONT></B></TD>
+			<TD align="center" bgcolor="#ffffff" width="100" height="10"><IMG src="images/tradeLogo.gif" border="0" width="45" height="19"></TD>
+		</TR>
+        <TR>
+            <TD colspan="2" align="center"> Created&nbsp;with&nbsp;IBM WebSphere Application Server and WebSphere Studio Application Developer<BR>
+
+ 
+Copyright 2000, IBM Corporation</TD>
+        </TR>
+    </TBODY>
+</TABLE>
+</BODY>
+</HTML>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/runStats.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/runStats.jsp?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/runStats.jsp (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/runStats.jsp Tue Sep 20 09:07:08 2005
@@ -0,0 +1,267 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<META name="GENERATOR" content="IBM WebSphere Page Designer V3.5.1 for Windows">
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>Welcome to Trade</TITLE>
+</HEAD>
+<BODY bgcolor="#ffffff" link="#000099">
+<%@ page import="org.apache.geronimo.samples.daytrader.*" session="false" isThreadSafe="true" isErrorPage="false" %>
+
+<jsp:useBean class="org.apache.geronimo.samples.daytrader.RunStatsDataBean" id="runStatsData" scope="request" />
+<% 
+double loginPercentage = (double) ((TradeConfig.getScenarioMixes())[TradeConfig.workloadMix][TradeConfig.LOGOUT_OP]) / 100.0;
+double logoutPercentage = (double) ((TradeConfig.getScenarioMixes())[TradeConfig.workloadMix][TradeConfig.LOGOUT_OP]) / 100.0;
+double buyOrderPercentage = (double) ((TradeConfig.getScenarioMixes())[TradeConfig.workloadMix][TradeConfig.BUY_OP]) / 100.0;
+double sellOrderPercentage = (double) ((TradeConfig.getScenarioMixes())[TradeConfig.workloadMix][TradeConfig.SELL_OP]) / 100.0;
+double orderPercentage = buyOrderPercentage + sellOrderPercentage;
+double registerPercentage = (double) ((TradeConfig.getScenarioMixes())[TradeConfig.workloadMix][TradeConfig.REGISTER_OP]) / 100.0;
+                                                            
+int logins = runStatsData.getSumLoginCount()-runStatsData.getTradeUserCount(); //account for each user being logged in up front
+if (logins < 0 ) logins = 0; //no requests before reset
+//double expectedRequests = ((double) logins) / loginPercentage;
+double expectedRequests = (double)TradeConfig.getScenarioCount();
+TradeConfig.setScenarioCount(0);
+
+int verifyPercent = TradeConfig.verifyPercent;
+%>
+<%!// verifies 2 values are w/in tradeConfig.verifyPercent percent
+String verify(double expected, double actual, int verifyPercent)
+{
+	String retVal = "";
+	if ( (expected==0.0) || (actual == 0.0) )
+		return "N/A";
+	double check = (actual / expected) * 100 - 100;
+	//PASS
+	retVal += check +"% ";
+	if ( (check>=(-1.0*verifyPercent)) && (check<=verifyPercent) )
+		retVal += " Pass";
+	else 
+		retVal += " Fail<SUP>4</SUP>";
+	if (check > 0.0)
+		retVal = "+" + retVal;
+//System.out.println("verify --- expected="+expected+" actual="+actual+ " check="+check);		
+	return retVal;
+}
+String verify(int expected, int actual, int verifyPercent)
+{
+	return verify((double)expected, (double)actual, verifyPercent);
+}
+%>
+<DIV align="left">
+
+<TABLE style="font-size: smaller">
+  <TBODY>
+    <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10" colspan="5"><FONT color="#ffffff"><B>Trade Scenario Runtime Statistics</B></FONT></TD>
+            <TD align="center" bgcolor="#000000" width="100" height="10"><FONT color="#ffffff"><B>Trade</B></FONT></TD>
+    </TR>
+  </TBODY>
+</TABLE>
+<TABLE width="639" height="30">
+  <TBODY>
+        <TR>
+            <TD width="228"><B><FONT size="-1" color="#cc0000"><% 
+String status;
+status = (String) request.getAttribute("status");
+if ( status != null )out.print(status);
+%></FONT></B></TD>
+            <TD width="202"></TD>
+            <TD width="187" align="right"><FONT size="-1"><A href="config" target="_self">Modify runtime configuration</A></FONT></TD>
+        </TR>
+  </TBODY>
+</TABLE>
+</DIV>
+<TABLE width="645">
+    <TBODY>
+        <TR>
+            <TD valign="top" width="643">
+            <TABLE width="100%">
+                <TBODY>
+                    <TR align="center">
+                        <TD colspan="6">
+                        <CENTER></CENTER>
+                        <TABLE border="1" style="font-size: smaller" cellpadding="2" cellspacing="0">
+                            <COL span="1" align="right">
+                            <COL span="1">
+                            <COL span="3" align="center">
+                            <CAPTION align="bottom"><FONT size="+1"><B>Benchmark scenario statistics</B></FONT></CAPTION>
+                            <TBODY>
+                                <TR bgcolor="#f3f3f3">
+                                    <TD colspan="2" align="center"><B>Benchmark runtime configuration summary</B></TD>
+                                    <TD colspan="3"><B>Value </B></TD>
+                                </TR>
+                                <TR>
+                                    <TD colspan="2"><A href="docs/glossary.html">Run-Time Mode</A></TD>
+                                    <TD colspan="3"><B><%= (TradeConfig.getRunTimeModeNames())[TradeConfig.runTimeMode] %></B></TD>
+                                </TR>
+                                <TR>
+                                    <TD colspan="2"><A href="docs/glossary.html">Order-Processing Mode</A></TD>
+                                    <TD colspan="3"><B><%= (TradeConfig.getOrderProcessingModeNames())[TradeConfig.orderProcessingMode]%></B></TD>
+                                </TR>
+                                <TR>
+                                    <TD colspan="2"><A href="docs/glossary.html">Scenario Workload Mix</A></TD>
+                                    <TD colspan="3"><B><%= (TradeConfig.getWorkloadMixNames())[TradeConfig.workloadMix]%></B></TD>
+                                </TR>
+                                <TR>
+                                    <TD colspan="2"><A href="docs/glossary.html">Web Interface</A></TD>
+                                    <TD colspan="3"><B><%= (TradeConfig.getWebInterfaceNames())[TradeConfig.webInterface]%></B></TD>
+                                </TR>
+                                <TR>
+                                    <TD colspan="2"><A href="docs/glossary.html">Active Traders / Trade User population</A></TD>
+                                    <TD colspan="3"><B><%= runStatsData.getTradeUserCount() %> / <%= TradeConfig.getMAX_USERS() %> </B></TD>
+                                </TR>
+                                <TR>
+                                    <TD colspan="2"><A href="docs/glossary.html">Active Stocks / Trade Stock population</A></TD>
+                                    <TD colspan="3"><B><%= TradeConfig.getMAX_QUOTES() %>  / <%= runStatsData.getTradeStockCount() %></B></TD>
+                                </TR>
+                                <TR>
+                                    <TD colspan="5" align="center" bgcolor="#f3f3f3"><B>Benchmark scenario verification</B></TD>
+                                </TR>
+                                <TR bgcolor="#fafcb6" align="center">
+                                    <TD width="109"><B>Run Statistic</B></TD>
+                                    <TD><B>Scenario verification test</B></TD>
+                                    <TD><B>Expected Value</B></TD>
+                                    <TD width="25"><B>Actual Value</B></TD>
+                                    <TD><B>Pass/Fail</B></TD>
+                                </TR>
+                                <TR>
+                                    <TD>Active Stocks</TD>
+                                    <TD>Active stocks should generally equal the db population of stocks</TD>
+                                    <TD><%= runStatsData.getTradeStockCount() %></TD>
+                                    <TD><B><%= TradeConfig.getMAX_QUOTES() %></B></TD>
+                                    <TD><%= ( runStatsData.getTradeStockCount() == TradeConfig.getMAX_QUOTES() ) ? "Pass":"Warn" %></TD>
+                                </TR>                               
+                                <TR bgcolor="#ffffff">
+                                    <TD><A href="docs/glossary.html">Active Traders</A></TD>
+                                    <TD>Active traders should generally equal the db population of traders</TD>
+                                    <TD><%= runStatsData.getTradeUserCount() %></TD>
+                                    <TD><B><%= TradeConfig.getMAX_USERS() %></B></TD>
+                                    <TD><%= ( runStatsData.getTradeUserCount() == TradeConfig.getMAX_USERS() ) ? "Pass":"Warn" %></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Estimated total requests</A></TD>
+                                    <TD>Actual benchmark scenario requests should be within +/- 2% of the estimated  number of requests in the last benchmark run to pass.</TD>
+                                    <TD><%= expectedRequests %></TD>
+                                    <TD><B>see</B><B><SUP>2</SUP></B></TD>
+                                    <TD>see<SUP>2</SUP></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">New Users Registered </A></TD>
+                                    <TD><%= registerPercentage * 100 %>% of expected requests (<%= registerPercentage%> * <%= expectedRequests %> )</TD>
+                                    <TD><%= registerPercentage * expectedRequests %></TD>
+                                    <TD><B><%= runStatsData.getNewUserCount() %></B></TD>
+                                    <TD><%= verify(registerPercentage * expectedRequests, (double)runStatsData.getNewUserCount(), verifyPercent) %></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Logins </A></TD>
+                                    <TD><%= loginPercentage * 100 %>% of expected requests (<%= loginPercentage%> * <%= expectedRequests %> ) + initial login</TD>
+                                    <TD><%= loginPercentage * expectedRequests + runStatsData.getTradeUserCount()  %></TD>
+                                    <TD><B><%= runStatsData.getSumLoginCount() + runStatsData.getTradeUserCount()  %></B></TD>
+                                    <TD><%= verify((double)loginPercentage * expectedRequests, (double)runStatsData.getSumLoginCount(), verifyPercent)%></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Logouts </A></TD>
+                                    <TD>#logouts must be &gt;= #logins-active traders ( <%= runStatsData.getSumLoginCount() %> - <%= TradeConfig.getMAX_USERS() %> )</TD>
+                                    <TD><%= runStatsData.getSumLoginCount()- TradeConfig.getMAX_USERS() %></TD>
+                                    <TD><B><%= runStatsData.getSumLogoutCount() %></B></TD>
+                                    <TD><%= (runStatsData.getSumLogoutCount() >= (runStatsData.getSumLoginCount()- TradeConfig.getMAX_USERS())) ? "Pass" : "Fail<SUP>4</SUP>" %> </TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">User Holdings </A></TD>
+                                    <TD>Trade users own an average of 5 holdings, 5* total Users = ( 5 * <%= runStatsData.getTradeUserCount() %>)</TD>
+                                    <TD> <%= 5 * runStatsData.getTradeUserCount() %></TD>
+                                    <TD><B><%= runStatsData.getHoldingCount() %></B></TD>
+                                    <TD><%= verify( 5 * runStatsData.getTradeUserCount(), runStatsData.getHoldingCount(), verifyPercent ) %></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Buy Order Count </A></TD>
+                                    <TD><%= buyOrderPercentage * 100 %>% of expected requests (<%= buyOrderPercentage%> * <%= expectedRequests %> ) + current holdings count</TD>
+                                    <TD><%= buyOrderPercentage * expectedRequests + runStatsData.getHoldingCount() %></TD>
+                                    <TD><B><%= runStatsData.getBuyOrderCount() %></B></TD>
+                                    <TD><%= verify(buyOrderPercentage * expectedRequests + runStatsData.getHoldingCount() , (double)runStatsData.getBuyOrderCount(), verifyPercent)%></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Sell Order Count </A></TD>
+                                    <TD><%= sellOrderPercentage * 100 %>% of expected requests (<%= sellOrderPercentage%> * <%= expectedRequests %> )</TD>
+                                    <TD><%= sellOrderPercentage * expectedRequests %></TD>
+                                    <TD><B><%= runStatsData.getSellOrderCount() %></B></TD>
+                                    <TD><%= verify(sellOrderPercentage * expectedRequests, (double)runStatsData.getSellOrderCount(), verifyPercent)%></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Total Order Count </A></TD>
+                                    <TD><%= orderPercentage * 100 %>% of expected requests (<%= orderPercentage%> * <%= expectedRequests %> ) + current holdings count</TD>
+                                    <TD><%= orderPercentage * expectedRequests + runStatsData.getHoldingCount() %></TD>
+                                    <TD><B><%= runStatsData.getOrderCount() %></B></TD>
+                                    <TD><%= verify(orderPercentage * expectedRequests + runStatsData.getHoldingCount(), (double)runStatsData.getOrderCount(), verifyPercent)%></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Open Orders </A></TD>
+                                    <TD>All orders should be completed before reset<SUP>3</SUP></TD>
+                                    <TD>0</TD>
+                                    <TD><B><%= runStatsData.getOpenOrderCount() %></B></TD>
+                                    <TD><%= (runStatsData.getOpenOrderCount() > 0) ? "Fail<SUP>4</SUP>" : "Pass" %></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Cancelled Orders </A></TD>
+                                    <TD>Orders are cancelled if an error is encountered during order processing.</TD>
+                                    <TD>0</TD>
+                                    <TD><B><%= runStatsData.getCancelledOrderCount() %></B></TD>
+                                    <TD><%= (runStatsData.getCancelledOrderCount() > 0) ? "Fail<SUP>4</SUP>" : "Pass" %></TD>
+                                </TR>
+                                <TR>
+                                    <TD><A href="docs/glossary.html">Orders remaining after reset </A></TD>
+                                    <TD>After Trade reset, each user should carry an average of 5 orders in the database. 5* total Users = (5 * <%= runStatsData.getTradeUserCount() %>)</TD>
+                                    <TD><%= 5 * runStatsData.getTradeUserCount() %></TD>
+                                    <TD><B><%= runStatsData.getOrderCount()-runStatsData.getDeletedOrderCount() %></B></TD>
+                                    <TD><%=  verify( 5 * runStatsData.getTradeUserCount(), runStatsData.getOrderCount()-runStatsData.getDeletedOrderCount(), verifyPercent ) %></TD>
+                                </TR>
+                            </TBODY>
+                        </TABLE>
+                        <CENTER>
+                        <DIV align="left"></DIV>
+                        </CENTER>
+                        </TD>
+                    </TR>
+                    <TR>
+                        <TD colspan="6">
+                        <OL>
+                            <LI><FONT size="-1"> Benchmark verification tests require a Trade Reset between each benchmark run.</FONT></LI>
+                            <LI><FONT size="-1">The expected value of benchmark requests is computed based on the the count from the Web application since the last Trade reset.The actual value of benchmark request requires user verification and may be incorrect for a cluster.</FONT></LI>
+                            <LI><FONT size="-1">Orders are processed asynchronously in Trade. Therefore, processing may continue beyond the end of a benchmark run. Trade Reset should not be invoked until processing is completed.</FONT></LI>
+                            <LI><FONT size="-1">Actual values must be within</FONT><FONT size="-1" color="#cc0000"><FONT size="-1" color="#cc0000"><B> <FONT size="-1" color="#cc0000"><%= TradeConfig.verifyPercent %></FONT>% </B></FONT></FONT><FONT size="-1">of corresponding estimated values to pass verification.</FONT></LI>
+                        </OL>
+                        </TD>
+                    </TR>
+               </TBODY>
+            </TABLE>
+            </TD>
+        </TR>
+    </TBODY>
+</TABLE>
+<FORM action="config" method="POST"><INPUT type="hidden" name="action" value="updateConfig">
+<TABLE height="54" style="font-size: smaller">
+  <TBODY>
+        <TR>
+            <TD colspan="2">
+            <HR>
+            </TD>
+        </TR>
+        <TR>
+            <TD colspan="2"></TD>
+        </TR>
+        <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10"><B><FONT color="#ffffff">Trade Scenario Runtime Statistics</FONT></B></TD>
+            <TD align="center" bgcolor="#000000" width="100" height="10"><FONT color="#ffffff"><B>Trade</B></FONT></TD>
+        </TR>
+        <TR>
+            <TD colspan="2" align="center"> Created&nbsp;with&nbsp;IBM WebSphere Application Server and WebSphere Studio Application Developer<BR>
+
+ 
+Copyright 2000, IBM Corporation</TD>
+        </TR>
+    </TBODY>
+</TABLE>
+</FORM>
+</BODY>
+</HTML>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/sample.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/sample.jsp?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/sample.jsp (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/sample.jsp Tue Sep 20 09:07:08 2005
@@ -0,0 +1,10 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
+<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
+<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
+<jsp:useBean id="now" class="java.util.Date" />
+<html>
+<body>
+Hello world JSP on<fmt:formatDate value="${now}" dateStyle="full" />
+</body>
+</html>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/style.css
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/style.css?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/style.css (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/style.css Tue Sep 20 09:07:08 2005
@@ -0,0 +1,8 @@
+A:HOVER {
+	text-decoration: underline; color: red;
+}
+
+A:ACTIVE {
+	color: red;
+	font-weight: bold
+}
\ No newline at end of file

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/topBanner.html
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/topBanner.html?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/topBanner.html (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/topBanner.html Tue Sep 20 09:07:08 2005
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<META name="GENERATOR" content="IBM WebSphere Page Designer V3.5.1 for Windows">
+<META http-equiv="Content-Style-Type" content="text/css">
+<BASE target="_self">
+<TITLE></TITLE>
+</head>
+<body bgcolor="#cccccc">
+<TABLE width="814" bgcolor="#000000" background="images/IBMBackGround1.gif">
+  <TBODY>
+    <TR>
+            <TD width="130" bgcolor="#000000" background="images/IBMBackGround1.gif" rowspan="2" align="center"><IMG src="images/lanim.gif" width="150" height="47" border="0" vspace="10"><FONT size="-2" color="#FFCC00"><BR>
+            &nbsp;<B>Performance Application&nbsp;&nbsp;</B></FONT></TD>
+            <TD valign="middle" bgcolor="#0080c0" background="images/IBMBackGround1.gif" colspan="2" align="right" height="63"><IMG src="images/topline.jpg" border="0" height="3" width="428"><BR>
+            <IMG src="images/tradeLogo.gif" border="0" width="97" height="41" align="top"></TD>
+        </TR>
+    <TR>
+            <TD align="center" bgcolor="#000000" height="15" width="440"><FONT size="-1"><B><I><FONT face="Arial"><FONT color="#FFFFFF">WebSphere Performance Benchmark Sample</FONT></FONT></I></B></FONT></TD>
+            <TD align="right" bgcolor="#ffffff" height="15" width="112"><IMG src="images/WEBSPHERE_18P_UNIX.GIF" width="113" height="18" border="0"></TD>
+        </TR>
+  </TBODY>
+</TABLE>
+</body>
+</html>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehome.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehome.jsp?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehome.jsp (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehome.jsp Tue Sep 20 09:07:08 2005
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<META name="GENERATOR" content="IBM WebSphere Page Designer V3.5.1 for Windows">
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>Welcome to Trade</TITLE>
+<LINK rel="stylesheet" href="style.css" type="text/css" />
+</HEAD>
+<BODY bgcolor="#ffffff" link="#000099" vlink="#000099">
+<%@ page import="java.util.Collection, java.util.Iterator, java.math.BigDecimal, org.apache.geronimo.samples.daytrader.*, org.apache.geronimo.samples.daytrader.util.*" session="true" isThreadSafe="true" isErrorPage="false"%>
+<jsp:useBean id="results" scope="request" type="java.lang.String" />
+<jsp:useBean id="accountData" type="org.apache.geronimo.samples.daytrader.AccountDataBean" scope="request" />
+<jsp:useBean id="holdingDataBeans" type="java.util.Collection" scope="request"/>
+<TABLE height="54">
+  <TBODY>
+    <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10" colspan="5"><FONT color="#ffffff"><B>Trade Home</B></FONT></TD>
+            <TD align="center" bgcolor="#000000" width="100" height="10"><FONT color="#ffffff"><B>Trade</B></FONT></TD>
+        </TR>
+        <TR align="center">
+            <TD><B><A href="app?action=home">Home</A></B><B> </B></TD>
+            <TD><B><A href="app?action=account">Account</A></B><B> </B></TD>
+            <TD><B><A href="app?action=portfolio">Portfolio</A></B><B> </B></TD>
+            <TD><B><A href="app?action=quotes&symbols=s:0,s:1,s:2,s:3,s:4">Quotes/Trade</A></B></TD>
+            <TD><B><A href="app?action=logout">Logoff</A></B></TD>
+            <TD></TD>
+        </TR>
+        <TR>
+            <TD align="right" colspan="6">
+            <HR>
+            <FONT color="#ff0000" size="-2"><%= new java.util.Date() %></FONT></TD>
+        </TR>
+<%
+Collection closedOrders = (Collection)request.getAttribute("closedOrders");
+if ( (closedOrders != null) && (closedOrders.size()>0) )
+{
+%>         
+        <TR>
+            <TD colspan="6" bgcolor="#ff0000"><BLINK><B><FONT color="#ffffff">Alert: The following Order(s) have completed.</FONT></B></BLINK></TD>
+        </TR>
+        <TR align="center">
+            <TD colspan="6">
+            <TABLE border="1" style="font-size: smaller">
+                            <TBODY>
+<%
+	Iterator it = closedOrders.iterator();
+	while (it.hasNext() )
+	{
+		OrderDataBean closedOrderData = (OrderDataBean)it.next();
+%>                            
+                                <TR align="center">
+                                    <TD><A href="docs/glossary.html">order ID</A></TD>
+                                    <TD><A href="docs/glossary.html">order status</A></TD>
+                                    <TD><A href="docs/glossary.html">creation date</A></TD>
+									<TD><A href="docs/glossary.html">completion date</A></TD>
+									<TD><A href="docs/glossary.html">txn fee</A></TD>
+									<TD><A href="docs/glossary.html">type</A></TD>
+									<TD><A href="docs/glossary.html">symbol</A></TD>
+									<TD><A href="docs/glossary.html">quantity</A></TD>
+                                </TR>
+                                <TR align="center">
+                        <TD><%= closedOrderData.getOrderID()%></TD>
+                        <TD><%= closedOrderData.getOrderStatus()%></TD>
+                                    <TD><%= closedOrderData.getOpenDate()%></TD>
+                                    <TD><%= closedOrderData.getCompletionDate()%></TD>
+                                    <TD><%= closedOrderData.getOrderFee()%></TD>
+                                    <TD><%= closedOrderData.getOrderType()%></TD>
+                                    <TD><%= FinancialUtils.printQuoteLink(closedOrderData.getSymbol())%></TD>
+                                    <TD><%= closedOrderData.getQuantity()%></TD>
+                                </TR>
+        <%
+	}
+%>
+                                
+                            </TBODY>
+                        </TABLE>
+            </TD>
+        </TR>
+        <%
+}
+%>
+    </TBODY>
+</TABLE>
+<TABLE width="636">
+    <TBODY>
+        <TR>
+            <TD valign="top" width="377">
+            <TABLE width="384">
+                <TBODY>
+                    <TR>
+                        <TD colspan="3"><B>Welcome &nbsp;<%= accountData.getProfileID() %>,</B></TD>
+                    </TR>
+                    <TR>
+                        <TD width="133"></TD>
+                        <TD width="22"></TD>
+                        <TD width="212"></TD>
+                    </TR>
+                    <TR>
+                        <TD colspan="3" align="left" bgcolor="#cccccc"><B> User Statistics </B></TD>
+                    </TR>
+                    <TR>
+                        <TD align="right" valign="top" width="133"> <A href="docs/glossary.html">account ID:<BR>
+                        </A><A href="docs/glossary.html">account created:</A><BR>
+                         <A href="docs/glossary.html">total logins:</A><BR>
+                        <A href="docs/glossary.html">session created:</A><BR>
+                        </TD>
+                        <TD width="22"></TD>
+                        <TD align="left" width="212"> <%= accountData.getAccountID()
+%><BR>
+                        <%= accountData.getCreationDate()
+%><BR>
+                        <%= accountData.getLoginCount()
+%><BR>
+                        <%= (java.util.Date) session.getAttribute("sessionCreationDate")
+%><BR>
+                        </TD>
+                    </TR>
+                    <TR>
+                        <TD width="133"></TD>
+                        <TD width="22"></TD>
+                        <TD width="212"></TD>
+                    </TR>
+                    <TR>
+                        <TD colspan="3" bgcolor="#cccccc"> <B>Account Summary </B></TD>
+                    </TR>
+                    <TR>
+                        <TD align="right" valign="top" width="133"><A href="docs/glossary.html"> cash balance:</A><BR>
+                        <A href="docs/glossary.html">number of holdings:</A><BR>
+                        <A href="docs/glossary.html">total of holdings:<BR>
+                        sum of cash/holdings<BR>
+                        opening balance:<BR>
+                        </A>
+                        <HR>
+                        </TD>
+                        <TD width="22"></TD>
+                        <TD align="left" valign="top" width="212"> 
+                        <% 
+                        	BigDecimal openBalance = accountData.getOpenBalance();
+                        	BigDecimal balance = accountData.getBalance();
+                        	BigDecimal holdingsTotal = FinancialUtils.computeHoldingsTotal(holdingDataBeans);
+                        	BigDecimal sumOfCashHoldings = balance.add(holdingsTotal);
+                        	BigDecimal gain = FinancialUtils.computeGain(sumOfCashHoldings, openBalance);
+							BigDecimal gainPercent = FinancialUtils.computeGainPercent(sumOfCashHoldings, openBalance);
+                         %>$ <%= balance %><BR>
+                        <%= holdingDataBeans.size()%><BR>
+                        $ <%= holdingsTotal %><BR>
+                        $ <%= sumOfCashHoldings %><BR>
+                        $ <%= openBalance%><BR>
+                        
+                        <HR>
+                        </TD>
+                    </TR>
+                    <TR>
+                        <TD valign="top" align="right"><A href="docs/glossary.html">current gain/(loss):</A></TD>
+                        <TD></TD>
+                        <TD valign="top">
+                         $
+						<B><%= FinancialUtils.printGainHTML(gain) %> <%= FinancialUtils.printGainPercentHTML(gainPercent) %></B></TD>
+                    </TR>
+                </TBODY>
+            </TABLE>
+            </TD>
+            <TD align="center" valign="top" bgcolor="#ffffff" width="236">
+			<jsp:include page="marketSummary.jsp" />
+
+            <BR>
+            </TD>
+        </TR>
+    </TBODY>
+</TABLE>
+<TABLE height="54" style="font-size: smaller">
+  <TBODY>
+        <TR>
+            <TD colspan="2">
+            <HR>
+            </TD>
+        </TR>
+        <TR>
+            <TD colspan="2">
+            <TABLE width="100%" style="font-size: smaller">
+                <TBODY>
+                    <TR>
+                        <TD>Note: Click any <A href="docs/glossary.html">symbol</A> for a quote or to trade.</TD>
+                        <TD align="right"><FORM><INPUT type="submit" name="action" value="quotes"> <INPUT size="20" type="text" name="symbols" value="s:0, s:1, s:2, s:3, s:4"></FORM></TD>
+                    </TR>
+                </TBODY>
+            </TABLE>
+            </TD>
+        </TR>
+        <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10"><B><FONT color="#ffffff">Trade Home</FONT></B></TD>
+            <TD align="center" bgcolor="#000000" width="100" height="10"><FONT color="#ffffff"><B>Trade</B></FONT></TD>
+        </TR>
+        <TR>
+            <TD colspan="2" align="center"> Created&nbsp;with&nbsp;IBM WebSphere Application Server and WebSphere Studio Application Developer<BR>
+
+ 
+Copyright 2000, IBM Corporation</TD>
+        </TR>
+    </TBODY>
+</TABLE>
+</BODY>
+</HTML>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehomeImg.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehomeImg.jsp?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehomeImg.jsp (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/tradehomeImg.jsp Tue Sep 20 09:07:08 2005
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<META name="GENERATOR" content="IBM WebSphere Page Designer V3.5.1 for Windows">
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>Welcome to Trade</TITLE>
+<LINK rel="stylesheet" href="style.css" type="text/css" />
+</HEAD>
+<BODY bgcolor="#ffffff" link="#000099" vlink="#000099">
+<%@ page import="java.util.Collection, java.util.Iterator, java.math.BigDecimal, org.apache.geronimo.samples.daytrader.*, org.apache.geronimo.samples.daytrader.util.*" session="true" isThreadSafe="true" isErrorPage="false"%>
+<jsp:useBean id="results" scope="request" type="java.lang.String" />
+<jsp:useBean id="accountData" type="org.apache.geronimo.samples.daytrader.AccountDataBean" scope="request" />
+<jsp:useBean id="holdingDataBeans" type="java.util.Collection" scope="request"/>
+<TABLE height="54">
+  <TBODY>
+    <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10" colspan="5"><FONT color="#ffffff"><B>Trade Home</B></FONT></TD>
+			<TD align="center" bgcolor="#ffffff" width="100" height="10"><IMG src="images/tradeLogo.gif" width="45" height="19" border="0"></TD>
+		</TR>
+        <TR align="center">
+            <TD><A href="app?action=home"><IMG src="images/home.gif" width="80" height="20" border="0"></A></TD>
+            <TD><A href="app?action=account"><IMG src="images/account.gif" width="80" height="20" border="0"></A></TD>
+            <TD><B><A href="app?action=portfolio"><IMG src="images/portfolio.gif" width="80" height="20" border="0"></A> </B></TD>
+            <TD><A href="app?action=quotes&symbols=s:0,s:1,s:2,s:3,s:4"><IMG src="images/quotes.gif" width="80" height="20" border="0"></A></TD>
+            <TD><A href="app?action=logout"><IMG src="images/logout.gif" width="80" height="20" border="0"></A></TD>
+            <TD><IMG src="images/graph.gif" width="32" height="32" border="0"></TD>
+        </TR>
+        <TR>
+			<TD align="left" colspan="6"><IMG src="images/line.gif" width="600" height="6" border="0"><BR>
+			<FONT color="#ff0000" size="-2"><%= new java.util.Date() %></FONT></TD>
+		</TR>
+<%
+Collection closedOrders = (Collection)request.getAttribute("closedOrders");
+if ( (closedOrders != null) && (closedOrders.size()>0) )
+{
+%>         
+        <TR>
+            <TD colspan="6" bgcolor="#ff0000"><BLINK><B><FONT color="#ffffff">Alert: The following Order(s) have completed.</FONT></B></BLINK></TD>
+        </TR>
+        <TR align="center">
+            <TD colspan="6">
+            <TABLE border="1" style="font-size: smaller">
+                            <TBODY>
+<%
+	Iterator it = closedOrders.iterator();
+	while (it.hasNext() )
+	{
+		OrderDataBean closedOrderData = (OrderDataBean)it.next();
+%>                            
+                                <TR align="center">
+                                    <TD><A href="docs/glossary.html">order ID</A></TD>
+                                    <TD><A href="docs/glossary.html">order status</A></TD>
+                                    <TD><A href="docs/glossary.html">creation date</A></TD>
+									<TD><A href="docs/glossary.html">completion date</A></TD>
+									<TD><A href="docs/glossary.html">txn fee</A></TD>
+									<TD><A href="docs/glossary.html">type</A></TD>
+									<TD><A href="docs/glossary.html">symbol</A></TD>
+									<TD><A href="docs/glossary.html">quantity</A></TD>
+                                </TR>
+                                <TR align="center">
+                        <TD><%= closedOrderData.getOrderID()%></TD>
+                        <TD><%= closedOrderData.getOrderStatus()%></TD>
+                                    <TD><%= closedOrderData.getOpenDate()%></TD>
+                                    <TD><%= closedOrderData.getCompletionDate()%></TD>
+                                    <TD><%= closedOrderData.getOrderFee()%></TD>
+                                    <TD><%= closedOrderData.getOrderType()%></TD>
+                                    <TD><%= FinancialUtils.printQuoteLink(closedOrderData.getSymbol())%></TD>
+                                    <TD><%= closedOrderData.getQuantity()%></TD>
+                                </TR>
+        <%
+	}
+%>
+                                
+                            </TBODY>
+                        </TABLE>
+            </TD>
+        </TR>
+        <%
+}
+%>
+    </TBODY>
+</TABLE>
+<TABLE width="636">
+    <TBODY>
+        <TR>
+            <TD valign="top" width="377">
+            <TABLE width="384">
+                <TBODY>
+                    <TR>
+                        <TD colspan="3"><B>Welcome &nbsp;<%= accountData.getProfileID() %>,</B></TD>
+                    </TR>
+                    <TR>
+                        <TD width="133"></TD>
+                        <TD width="22"></TD>
+                        <TD width="212"></TD>
+                    </TR>
+                    <TR>
+                        <TD colspan="3" align="left" bgcolor="#cccccc"><B> User Statistics </B></TD>
+                    </TR>
+                    <TR>
+                        <TD align="right" valign="top" width="133"> <A href="docs/glossary.html">account ID:<BR>
+                        </A><A href="docs/glossary.html">account created:</A><BR>
+                         <A href="docs/glossary.html">total logins:</A><BR>
+                        <A href="docs/glossary.html">session created:</A><BR>
+                        </TD>
+                        <TD width="22"></TD>
+                        <TD align="left" width="212"> <%= accountData.getAccountID()
+%><BR>
+                        <%= accountData.getCreationDate()
+%><BR>
+                        <%= accountData.getLoginCount()
+%><BR>
+                        <%= (java.util.Date) session.getAttribute("sessionCreationDate")
+%><BR>
+                        </TD>
+                    </TR>
+                    <TR>
+                        <TD width="133"></TD>
+                        <TD width="22"></TD>
+                        <TD width="212"></TD>
+                    </TR>
+                    <TR>
+                        <TD colspan="3" bgcolor="#cccccc"> <B>Account Summary </B></TD>
+                    </TR>
+                    <TR>
+                        <TD align="right" valign="top" width="133"><A href="docs/glossary.html"> cash balance:</A><BR>
+                        <A href="docs/glossary.html">number of holdings:</A><BR>
+                        <A href="docs/glossary.html">total of holdings:<BR>
+                        sum of cash/holdings<BR>
+                        opening balance:<BR>
+                        </A>
+                        <HR>
+                        </TD>
+                        <TD width="22"></TD>
+                        <TD align="left" valign="top" width="212"> 
+                        <% 
+                        	BigDecimal openBalance = accountData.getOpenBalance();
+                        	BigDecimal balance = accountData.getBalance();
+                        	BigDecimal holdingsTotal = FinancialUtils.computeHoldingsTotal(holdingDataBeans);
+                        	BigDecimal sumOfCashHoldings = balance.add(holdingsTotal);
+                        	BigDecimal gain = FinancialUtils.computeGain(sumOfCashHoldings, openBalance);
+							BigDecimal gainPercent = FinancialUtils.computeGainPercent(sumOfCashHoldings, openBalance);
+                         %>$<%= balance %><BR>
+                        <%= holdingDataBeans.size()%><BR>
+                        $<%= holdingsTotal %><BR>
+                        $<%= sumOfCashHoldings %><BR>
+                        $<%= openBalance%><BR>
+                        
+                        <HR>
+                        </TD>
+                    </TR>
+                    <TR>
+                        <TD valign="top" align="right"><A href="docs/glossary.html">current gain/(loss):</A></TD>
+                        <TD></TD>
+                        <TD valign="top">
+                         $
+						<B><%= FinancialUtils.printGainHTML(gain) %> <%= FinancialUtils.printGainPercentHTML(gainPercent) %></B></TD>
+                    </TR>
+                </TBODY>
+            </TABLE>
+            </TD>
+            <TD align="center" valign="top" bgcolor="#ffffff" width="236">
+			<jsp:include page="marketSummary.jsp" />
+            <BR>
+            </TD>
+        </TR>
+    </TBODY>
+</TABLE>
+<TABLE height="54" style="font-size: smaller">
+  <TBODY>
+        <TR>
+			<TD colspan="4"><IMG src="images/line.gif" width="600" height="6" border="0"></TD>
+		</TR>
+        <TR>
+			<TD colspan="4">
+            <TABLE width="100%" style="font-size: smaller">
+                <TBODY>
+                    <TR>
+                        <TD>Note: Click any <A href="docs/glossary.html">symbol</A> for a quote or to trade.</TD>
+                        <TD align="right"><FORM><INPUT type="submit" name="action" value="quotes"> <INPUT size="20" type="text" name="symbols" value="s:0, s:1, s:2, s:3, s:4"></FORM></TD>
+                    </TR>
+                </TBODY>
+            </TABLE>
+            </TD>
+		</TR>
+        <TR>
+            <TD bgcolor="#8080c0" align="left" width="500" height="10"><B><FONT color="#ffffff">Trade Home</FONT></B></TD>
+			<TD align="center" bgcolor="#ffffff" width="100" height="10"><IMG src="images/tradeLogo.gif" width="45" height="19" border="0"></TD>
+		</TR>
+        <TR>
+			<TD colspan="4" align="center"> Created&nbsp;with&nbsp;IBM WebSphere Application Server and WebSphere Studio Application Developer<BR>
+			Copyright 2000, IBM Corporation<BR>
+			<IMG src="images/WEBSPHERE_18P_UNIX.GIF" width="113" height="18" border="0"><BR>
+			<BR>
+			<IMG src="images/ticker-anim.gif" width="385" height="22" border="0" align="middle"></TD>
+		</TR>
+    </TBODY>
+</TABLE>
+</BODY>
+</HTML>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web.xml?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web.xml (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web.xml Tue Sep 20 09:07:08 2005
@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4"
+	xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+      <display-name>TradeWeb</display-name>
+      <filter id="Filter_1">
+         <display-name>OrdersAlertFilter</display-name>
+         <filter-name>OrdersAlertFilter</filter-name>
+         <filter-class>org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter</filter-class>
+      </filter>
+      <filter-mapping id="FilterMapping_1">
+         <filter-name>OrdersAlertFilter</filter-name>
+         <servlet-name>TradeAppServlet</servlet-name>
+      </filter-mapping>
+      <listener id="Listener_1">
+         <listener-class>org.apache.geronimo.samples.daytrader.web.TradeWebContextListener</listener-class>
+      </listener>
+      <servlet id="Servlet_1">
+         <display-name>TradeAppServlet</display-name>
+         <servlet-name>TradeAppServlet</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.TradeAppServlet</servlet-class>
+         <load-on-startup>1</load-on-startup>         
+      </servlet>
+      <servlet id="Servlet_2">
+         <display-name>register</display-name>
+         <servlet-name>register</servlet-name>
+         <jsp-file>/register.jsp</jsp-file>
+      </servlet>
+      <servlet id="Servlet_3">
+         <display-name>TestServlet</display-name>
+         <servlet-name>TestServlet</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.TestServlet</servlet-class>
+      </servlet>
+      <servlet id="Servlet_4">
+         <display-name>welcome</display-name>
+         <servlet-name>welcome</servlet-name>
+         <jsp-file>/welcome.jsp</jsp-file>
+      </servlet>
+      <servlet id="Servlet_5">
+         <display-name>order</display-name>
+         <servlet-name>order</servlet-name>
+         <jsp-file>/order.jsp</jsp-file>
+      </servlet>
+      <servlet id="Servlet_6">
+         <display-name>tradehome</display-name>
+         <servlet-name>tradehome</servlet-name>
+         <jsp-file>/tradehome.jsp</jsp-file>
+      </servlet>
+      <servlet id="Servlet_7">
+         <display-name>TradeConfigServlet</display-name>
+         <servlet-name>TradeConfigServlet</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.TradeConfigServlet</servlet-class>
+      </servlet>
+      <servlet id="Servlet_8">
+         <display-name>TradeScenarioServlet</display-name>
+         <servlet-name>TradeScenarioServlet</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet</servlet-class>
+         <init-param id="InitParam_1">
+            <description>Sets the default RuntimeMode. Legal values
+                include EJB and Direct</description>
+            <param-name>runTimeMode</param-name>
+            <param-value>EJB</param-value>
+         </init-param>
+         <init-param id="InitParam_2">
+            <description>Sets the default Order Processing Mode. Legal
+                values include Synchronous, Asynchronous_1-Phase and Asynchronous_2-Phase</description>
+            <param-name>orderProcessingMode</param-name>
+            <param-value>Synchronous</param-value>            
+         </init-param>         
+         <init-param id="InitParam_3">
+            <description>Sets the protocol the web application
+                communicates with the server side services when driving
+                with TradeScenarioServlet. Legal values incude Standard and WebServices.</description>
+            <param-name>accessMode</param-name>
+            <param-value>Standard</param-value>
+         </init-param>        
+        <!-- Commented out as this will only work if IHS is installed, unless the default is changed to port 9080
+         <init-param id="InitParam_4">
+            <description>Sets the WebServices endpoint when using
+                WebServices accessMode when driving with TradeScenarioServlet.</description>
+            <param-name>webServicesEndpoint</param-name>
+            <param-value>http://localhost/trade/services/TradeWSServices?wsdl</param-value>
+         </init-param>        
+        -->
+         <init-param id="InitParam_5">
+            <description>Sets the default workloadMix used with
+                TradeScenario servlet. Legal values include Standard and High-Volume</description>
+            <param-name>workloadMix</param-name>
+            <param-value>Standard</param-value>
+         </init-param>
+         <init-param id="InitParam_6">
+            <description>Sets the default WebInterface. Legal values
+                include JSP and JSP-images</description>
+            <param-name>WebInterface</param-name>
+            <param-value>JSP</param-value>
+         </init-param>
+         <init-param id="InitParam_7">
+            <description>Sets the population of Trade users when driving
+                with TradeScenarioServlet.</description>
+            <param-name>maxUsers</param-name>
+            <param-value>500</param-value>
+         </init-param>
+         <init-param id="InitParam_8">
+            <description>Sets the population of Stock quotes used when
+                driving with TradeScenarioServlet.</description>
+            <param-name>maxQuotes</param-name>
+            <param-value>1000</param-value>
+         </init-param>        
+         <init-param id="InitParam_9">
+            <description>Sets the number of iterations on web/ejb
+                primitives.</description>
+            <param-name>primIterations</param-name>
+            <param-value>1</param-value>
+         </init-param>
+         <init-param id="InitParam_10">
+            <description>Sets the data caching type</description>
+            <param-name>No Caching</param-name>
+            <param-value>2</param-value>
+         </init-param>
+         <load-on-startup>1</load-on-startup>
+      </servlet>
+      <servlet id="Servlet_9">
+         <display-name>PingServlet</display-name>
+         <servlet-name>PingServlet</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet</servlet-class>
+      </servlet>
+      <servlet id="Servlet_10">
+         <display-name>PingServletWriter</display-name>
+         <servlet-name>PingServletWriter</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServletWriter</servlet-class>
+      </servlet>
+      <servlet id="Servlet_11">
+         <display-name>PingServlet2Servlet</display-name>
+         <servlet-name>PingServlet2Servlet</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Servlet</servlet-class>
+      </servlet>
+      <servlet id="Servlet_12">
+         <display-name>PingServlet2ServletRcv</display-name>
+         <servlet-name>PingServlet2ServletRcv</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2ServletRcv</servlet-class>
+      </servlet>
+      <servlet id="Servlet_13">
+         <display-name>PingServlet2Jsp</display-name>
+         <servlet-name>PingServlet2Jsp</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Jsp</servlet-class>
+      </servlet>
+      <servlet id="Servlet_14">
+         <display-name>PingSession1</display-name>
+         <servlet-name>PingSession1</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingSession1</servlet-class>
+      </servlet>
+      <servlet id="Servlet_15">
+         <display-name>PingSession2</display-name>
+         <servlet-name>PingSession2</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingSession2</servlet-class>
+      </servlet>
+      <servlet id="Servlet_16">
+         <display-name>PingSession3</display-name>
+         <servlet-name>PingSession3</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingSession3</servlet-class>
+      </servlet>
+      <servlet id="Servlet_17">
+         <display-name>PingJDBCRead</display-name>
+         <servlet-name>PingJDBCRead</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingJDBCRead</servlet-class>
+      </servlet>
+      <servlet id="Servlet_18">
+         <display-name>PingJDBCWrite</display-name>
+         <servlet-name>PingJDBCWrite</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingJDBCWrite</servlet-class>
+      </servlet>
+      <servlet id="Servlet_19">
+         <display-name>PingServlet2Session</display-name>
+         <servlet-name>PingServlet2Session</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session</servlet-class>
+      </servlet>
+      <servlet id="Servlet_20">
+         <display-name>PingServlet2EntityLocal</display-name>
+         <servlet-name>PingServlet2EntityLocal</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2EntityLocal</servlet-class>
+      </servlet>
+      <servlet id="Servlet_29">
+         <display-name>PingServlet2EntityRemote</display-name>
+         <servlet-name>PingServlet2EntityRemote</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2EntityRemote</servlet-class>
+      </servlet>      
+      <servlet id="Servlet_21">
+         <display-name>PingServlet2Session2Entity</display-name>
+         <servlet-name>PingServlet2Session2Entity</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2Entity</servlet-class>
+      </servlet>
+      <servlet id="Servlet_22">
+         <display-name>PingServlet2Session2EntityCollection</display-name>
+         <servlet-name>PingServlet2Session2EntityCollection</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2EntityCollection</servlet-class>
+      </servlet>
+      <servlet id="Servlet_23">
+         <display-name>PingServlet2Session2CMROne2One</display-name>
+         <servlet-name>PingServlet2Session2CMROne2One</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2CMROne2One</servlet-class>
+      </servlet>
+      <servlet id="Servlet_24">
+         <display-name>PingServlet2Session2CMROne2Many</display-name>
+         <servlet-name>PingServlet2Session2CMROne2Many</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2CMROne2Many</servlet-class>
+      </servlet>
+      <servlet id="Servlet_25">
+         <display-name>PingServlet2MDBQueue</display-name>
+         <servlet-name>PingServlet2MDBQueue</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2MDBQueue</servlet-class>
+      </servlet>     
+      <servlet id="Servlet_26">
+         <display-name>PingServlet2MDBTopic</display-name>
+         <servlet-name>PingServlet2MDBTopic</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2MDBTopic</servlet-class>
+      </servlet>     
+      <servlet id="Servlet_27">
+         <display-name>PingServlet2JNDI</display-name>
+         <servlet-name>PingServlet2JNDI</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2JNDI</servlet-class>
+      </servlet>           
+      <servlet id="Servlet_28">
+         <display-name>PingServlet2TwoPhase</display-name>
+         <servlet-name>PingServlet2TwoPhase</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2TwoPhase</servlet-class>
+      </servlet>  
+      <servlet id="Servlet_31">
+         <display-name>PingServlet2Include</display-name>
+         <servlet-name>PingServlet2Include</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Include</servlet-class>
+      </servlet>
+      <servlet id="Servlet_32">
+         <display-name>PingServlet2IncludeRcv</display-name>
+         <servlet-name>PingServlet2IncludeRcv</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.web.prims.PingServlet2IncludeRcv</servlet-class>
+      </servlet>
+      <servlet id="Servlet_30">
+         <display-name>org_apache_geronimo_samples_daytrader_TradeWSAction</display-name>
+         <servlet-name>org_apache_geronimo_samples_daytrader_TradeWSAction</servlet-name>
+         <servlet-class>org.apache.geronimo.samples.daytrader.TradeWSAction</servlet-class>
+      </servlet>                  
+      <servlet-mapping id="ServletMapping_1">
+         <servlet-name>TradeAppServlet</servlet-name>
+         <url-pattern>/app</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_2">
+         <servlet-name>TestServlet</servlet-name>
+         <url-pattern>/TestServlet</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_3">
+         <servlet-name>TradeConfigServlet</servlet-name>
+         <url-pattern>/config</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_4">
+         <servlet-name>TradeScenarioServlet</servlet-name>
+         <url-pattern>/scenario</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_99">
+         <servlet-name>org_apache_geronimo_samples_daytrader_TradeWSAction</servlet-name>
+         <url-pattern>/services/TradeWSServices</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_5">
+         <servlet-name>PingServlet</servlet-name>
+         <url-pattern>/servlet/PingServlet</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_6">
+         <servlet-name>PingServletWriter</servlet-name>
+         <url-pattern>/servlet/PingServletWriter</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_7">
+         <servlet-name>PingServlet2Servlet</servlet-name>
+         <url-pattern>/servlet/PingServlet2Servlet</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_8">
+         <servlet-name>PingServlet2ServletRcv</servlet-name>
+         <url-pattern>/servlet/PingServlet2ServletRcv</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_9">
+         <servlet-name>PingServlet2Jsp</servlet-name>
+         <url-pattern>/servlet/PingServlet2Jsp</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_10">
+         <servlet-name>PingSession1</servlet-name>
+         <url-pattern>/servlet/PingSession1</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_11">
+         <servlet-name>PingSession2</servlet-name>
+         <url-pattern>/servlet/PingSession2</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_12">
+         <servlet-name>PingSession3</servlet-name>
+         <url-pattern>/servlet/PingSession3</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_13">
+         <servlet-name>PingJDBCRead</servlet-name>
+         <url-pattern>/servlet/PingJDBCRead</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_14">
+         <servlet-name>PingJDBCWrite</servlet-name>
+         <url-pattern>/servlet/PingJDBCWrite</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_15">
+         <servlet-name>PingServlet2Session</servlet-name>
+         <url-pattern>/servlet/PingServlet2Session</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_16">
+         <servlet-name>PingServlet2EntityLocal</servlet-name>
+         <url-pattern>/servlet/PingServlet2EntityLocal</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_25">
+         <servlet-name>PingServlet2EntityRemote</servlet-name>
+         <url-pattern>/servlet/PingServlet2EntityRemote</url-pattern>
+      </servlet-mapping>      
+      <servlet-mapping id="ServletMapping_17">
+         <servlet-name>PingServlet2Session2Entity</servlet-name>
+         <url-pattern>/servlet/PingServlet2Session2Entity</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_18">
+         <servlet-name>PingServlet2Session2EntityCollection</servlet-name>
+         <url-pattern>/servlet/PingServlet2Session2EntityCollection</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_19">
+         <servlet-name>PingServlet2Session2CMROne2One</servlet-name>
+         <url-pattern>/servlet/PingServlet2Session2CMROne2One</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_20">
+         <servlet-name>PingServlet2Session2CMROne2Many</servlet-name>
+         <url-pattern>/servlet/PingServlet2Session2CMROne2Many</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_21">
+         <servlet-name>PingServlet2MDBQueue</servlet-name>
+         <url-pattern>/servlet/PingServlet2MDBQueue</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_22">
+         <servlet-name>PingServlet2MDBTopic</servlet-name>
+         <url-pattern>/servlet/PingServlet2MDBTopic</url-pattern>
+      </servlet-mapping>      
+      <servlet-mapping id="ServletMapping_23">
+         <servlet-name>PingServlet2JNDI</servlet-name>
+         <url-pattern>/servlet/PingServlet2JNDI</url-pattern>
+      </servlet-mapping>           
+      <servlet-mapping id="ServletMapping_24">
+         <servlet-name>PingServlet2TwoPhase</servlet-name>
+         <url-pattern>/servlet/PingServlet2TwoPhase</url-pattern>
+      </servlet-mapping>                 
+      <servlet-mapping id="ServletMapping_26">
+         <servlet-name>PingServlet2Include</servlet-name>
+         <url-pattern>/servlet/PingServlet2Include</url-pattern>
+      </servlet-mapping>                 
+      <session-config id="SessionConfig_1">
+         <session-timeout>30</session-timeout>
+      </session-config>
+      <welcome-file-list id="WelcomeFileList_1">
+         <welcome-file>index.html</welcome-file>
+      </welcome-file-list>
+      <error-page id="ExceptionTypeErrorPage_1">
+         <exception-type>java.lang.Exception</exception-type>
+         <location>/error.jsp</location>
+      </error-page>
+      <error-page id="ErrorCodeErrorPage_1">
+         <error-code>500</error-code>
+         <location>/error.jsp</location>
+      </error-page>
+      <message-destination-ref id="MessageDestinationRef_1">
+         <message-destination-ref-name>jms/TradeBrokerQueue</message-destination-ref-name>
+         <message-destination-type>javax.jms.Queue</message-destination-type>
+         <message-destination-usage>Produces</message-destination-usage>
+         <message-destination-link>tradeEJB.jar#TradeBrokerQueue</message-destination-link>
+      </message-destination-ref>            
+      <message-destination-ref id="MessageDestinationRef_2">
+         <message-destination-ref-name>jms/TradeStreamerTopic</message-destination-ref-name>
+         <message-destination-type>javax.jms.Topic</message-destination-type>
+         <message-destination-usage>Produces</message-destination-usage>
+         <message-destination-link>tradeEJB.jar#TradeStreamerTopic</message-destination-link>
+      </message-destination-ref>
+      <resource-ref id="ResourceRef_1">
+         <res-ref-name>jdbc/TradeDataSource</res-ref-name>
+         <res-type>javax.sql.DataSource</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_2">
+         <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
+         <res-type>javax.jms.QueueConnectionFactory</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_3">
+         <res-ref-name>jms/TopicConnectionFactory</res-ref-name>
+         <res-type>javax.jms.TopicConnectionFactory</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <ejb-ref id="EjbRef_1">
+         <ejb-ref-name>ejb/Trade</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>org.apache.geronimo.samples.daytrader.ejb.TradeHome</home>
+         <remote>org.apache.geronimo.samples.daytrader.ejb.Trade</remote>
+         <ejb-link>TradeEJB</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_2">
+         <ejb-ref-name>ejb/Quote</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <home>org.apache.geronimo.samples.daytrader.ejb.QuoteHome</home>
+         <remote>org.apache.geronimo.samples.daytrader.ejb.Quote</remote>
+         <ejb-link>QuoteEJB</ejb-link>
+      </ejb-ref>      
+      <ejb-local-ref id="EJBLocalRef_1">
+         <ejb-ref-name>ejb/LocalQuote</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <local-home>org.apache.geronimo.samples.daytrader.ejb.LocalQuoteHome</local-home>
+         <local>org.apache.geronimo.samples.daytrader.ejb.LocalQuote</local>
+         <ejb-link>QuoteEJB</ejb-link>
+      </ejb-local-ref>
+      <ejb-local-ref id="EJBLocalRef_2">
+         <ejb-ref-name>ejb/LocalAccountHome</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <local-home>org.apache.geronimo.samples.daytrader.ejb.LocalAccountHome</local-home>
+         <local>org.apache.geronimo.samples.daytrader.ejb.LocalAccount</local>
+         <ejb-link>AccountEJB</ejb-link>
+      </ejb-local-ref>
+      <service-ref>
+        <description>WSDL Service Trade</description>
+        <service-ref-name>service/Trade</service-ref-name>
+        <service-interface>org.apache.geronimo.samples.daytrader.client.ws.Trade</service-interface>
+        <wsdl-file>WEB-INF/wsdl/TradeServices.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/TradeServicesClient_mapping.xml</jaxrpc-mapping-file>
+        <service-qname xmlns:pfx="http://daytrader.samples.geronimo.apache.org">pfx:Trade</service-qname>
+        <port-component-ref>
+            <service-endpoint-interface>org.apache.geronimo.samples.daytrader.client.ws.TradeWSServices</service-endpoint-interface>
+        </port-component-ref>
+    </service-ref>
+</web-app>
\ No newline at end of file

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web_prmtv.html
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web_prmtv.html?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web_prmtv.html (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/web_prmtv.html Tue Sep 20 09:07:08 2005
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<HTML>
+<HEAD>
+<META name="GENERATOR" content="IBM WebSphere Page Designer V3.5.1 for Windows">
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>Web Primitives</TITLE>
+</HEAD>
+
+<BODY bgcolor="#FFFFFF" link="#000099" vlink="#000099">
+<HR>
+<TABLE width="100%">
+  <TBODY>
+    <TR>
+      <TD>
+      <H3>Web and EJB ping tests</H3>
+      </TD>
+      <TD align="right"></TD>
+    </TR>
+  </TBODY>
+</TABLE>
+<HR>
+<P><FONT size="-1">The WebSphere performance benchmark sample provides a suite of web primitives. These
+primitives singularly test key operations in the enterprise Java programming model. Links to each of the web
+primitive tests are provided below along with a description of each operation.</P>
+<P>Note that some primitives
+below can have their main operations repeated.  These operations are marked with a red <FONT COLOR="#FF0000">*</FONT>.
+In order to adjust the repetition, change the primitive iteration value in the Trade configuration page.</FONT></P>
+<CENTER>
+<TABLE border="1" width="100%">
+  <TBODY>
+        <TR>
+            <TD colspan="2" bgcolor="#8080c0" align="center"><B><FONT color="#FFFFFF">Web Container ping suite</FONT></B></TD>
+        </TR>
+        <TR>
+      <TD align="center"><FONT size="-1"><A href="PingHtml.html"><FONT face="Times New Roman">PingHtml</FONT></A></FONT></TD>
+      <TD><FONT size="-1">PingHtml is the most basic operation providing
+      access to a simple &quot;Hello World&quot;
+      page of static HTML.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="servlet/PingServlet" target="_self"><FONT face="Times New Roman">PingServlet</FONT></A></FONT></TD>
+      <TD><FONT size="-1">PingServlet tests fundamental dynamic HTML creation through server side
+      servlet processing.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="servlet/PingServletWriter" target="_self"><FONT face="Times New Roman">PingServletWriter</FONT></A> </FONT></TD>
+      <TD><FONT size="-1">PingServletWriter extends PingServlet by using a PrintWriter for formatted
+      output vs. the output stream used by PingServlet.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="servlet/PingServlet2Include" target="_self"><FONT face="Times New Roman">PingServlet2Include</FONT></A></FONT><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">PingServlet2Include tests response inclusion. Servlet 1 includes the response
+      of Servlet 2.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="servlet/PingServlet2Servlet" target="_self"><FONT face="Times New Roman">PingServlet2Servlet</FONT></A></FONT></TD>
+      <TD><FONT size="-1">PingServlet2Servlet tests request dispatching. Servlet 1, the controller,
+      creates a new JavaBean object forwards the request with the JavaBean added
+      to Servlet 2. Servlet 2 obtains access to the JavaBean through the Servlet
+      request object and provides dynamic HTML output based on the JavaBean data.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="PingJsp.jsp">PingJSP</A></FONT></TD>
+      <TD><FONT size="-1">PingJSP tests a direct call to JavaServer
+      Page providing server-side dynamic
+      HTML through
+      JSP scripting.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="PingJspEL.jsp">PingJSPEL</A></FONT></TD>
+      <TD><FONT size="-1">PingJSPEL tests a direct call to JavaServer
+      Page providing server-side dynamic HTML through JSP scripting and the usage of the
+      new JSP 2.0 Expression Language.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="servlet/PingServlet2Jsp">PingServlet2JSP</A></FONT></TD>
+      <TD><FONT size="-1">PingServlet2JSP tests a commonly used design
+      pattern, where a request is issued
+      to servlet
+      providing server side control processing.
+      The servlet creates a JavaBean object
+      with
+      dynamically set attributes and forwards
+      the
+      bean to the JSP through a RequestDispatcher
+      The JSP obtains access to the JavaBean
+      and
+      provides formatted display with dynamic
+      HTML
+      output based on the JavaBean data.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="servlet/PingSession1">PingHTTPSession1</A></FONT>
+      </TD>
+      <TD><FONT size="-1">PingHTTPSession1 - <B>SessionID</B> tests fundamental HTTP session function by creating a unique session ID
+      for each individual user. The ID is stored in the users session and is
+      accessed and displayed on each user request.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><FONT size="-1"><A href="servlet/PingSession2">PingHTTPSession2</A></FONT></TD>
+      <TD><FONT size="-1">PingHTTPSession2 <B>session create/destroy </B>further extends the previous test by invalidating
+      the HTTP Session on every 5th user
+      access.
+      This results in testing HTTPSession
+      create
+      and destroy</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><A href="servlet/PingSession3"><FONT size="-1">PingHTTPSession3</FONT></A></TD>
+      <TD><FONT size="-1">PingHTTPSession3 <B>large session object </B>tests the servers ability to manage and persist
+      large HTTPSession data objects. The
+      servlet
+      creates a large custom java object.
+      The class
+      contains multiple data fields and results
+      in 2048 bytes of data. This large session
+      object is retrieved and stored to the
+      session
+      on each user request.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><A href="servlet/PingJDBCRead"><FONT size="-1">PingJDBCRead</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">PingJDBCRead tests fundamental servlet to JDBC access to a database performing a single-row read using a prepared SQL statment.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><A href="servlet/PingJDBCWrite"><FONT size="-1">PingJDBCWrite</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">PingJDBCRead tests fundamental servlet to JDBC access to a database performing a single-row write using a prepared SQL statment.</FONT></TD>
+    </TR>
+        <TR>
+            <TD align="center"><A href="servlet/PingServlet2JNDI"><FONT size="-1">PingServlet2JNDI</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+            <TD><FONT size="-1">PingServlet2JNDI tests the fundamental J2EE operation of a servlet allocating a JNDI context and performing a JNDI lookup of a JDBC DataSource.</FONT></TD>
+        </TR>
+        <TR>
+            <TD colspan="2" bgcolor="#8080c0" align="center"><B><FONT color="#FFFFFF">EJB Container ping suite</FONT></B></TD>
+        </TR>
+    
+        <TR>
+      <TD align="center"><A href="servlet/PingServlet2Session"><FONT size="-1">PingServlet2SessionEJB</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">PingServlet2SessionEJB tests key function of a servlet call to a stateless
+      SessionEJB. The SessionEJB performs a simple calculation and returns the
+      result</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><A href="servlet/PingServlet2EntityLocal"><FONT size="-1">PingServlet2EntityEJBLocal</FONT></A><FONT COLOR="#FF0000">*</FONT><BR>
+			<BR><A href="servlet/PingServlet2EntityRemote"><FONT size="-1">PingServlet2EntityEJBRemote</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">PingServlet2EntityEJB tests key function of a servlet call to an EJB 2.0 Container Managed Entity. In this test the EJB entity represents a single row in the database table. The <B>Local version</B> uses the EJB Local interface while the <B>Remote version</B> uses the Remote EJB interface. (Note: PingServlet2EntityEJBLocal will fail in a multi-tier setup where the Trade Web and EJB apps are seperated.)</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><A href="servlet/PingServlet2Session2Entity"><FONT size="-1">PingServlet2Session2Entity</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">This tests the full servlet to Session EJB to Entity EJB path to retrieve
+      a single row from the database.</FONT></TD>
+    </TR>
+    <TR>
+      <TD align="center"><A href="servlet/PingServlet2Session2EntityCollection"><FONT size="-1">PingServlet2Session2<BR>
+            EntityCollection</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">This test extends the previous EJB Entity test by calling a Session EJB which uses a finder method on the Entity that returns a collection of Entity objects. Each object is displayed by the servlet</FONT></TD>
+    </TR>    
+    <TR>
+      <TD align="center"><A href="servlet/PingServlet2Session2CMROne2One"><FONT size="-1">PingServlet2Session2CMROne2One</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">This test drives an Entity EJB to get another Entity EJB's data through an EJB 2.0 CMR One to One relationship </FONT></TD>
+    </TR>        
+    <TR>
+      <TD align="center"><A href="servlet/PingServlet2Session2CMROne2Many"><FONT size="-1">PingServlet2Session2CMROne2Many</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+      <TD><FONT size="-1">This test drives an Entity EJB to get another Entity EJB's data through an EJB 2.0 CMR One to Many relationship </FONT></TD>
+    </TR>
+        <TR>
+            <TD align="center"><A href="servlet/PingServlet2MDBQueue"><FONT size="-1">PingServlet2MDBQueue</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+            <TD><FONT size="-1">PingServlet2MDBQueue drives messages to a Queue based Message Driven EJB (MDB).Each request to the servlet posts a message to the Queue. The MDB receives the message asynchronously and prints message delivery statistics on each 100th message.</FONT></TD>
+        </TR>
+        <TR>
+            <TD align="center"><A href="servlet/PingServlet2MDBTopic"><FONT size="-1">PingServlet2MDBTopic</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+            <TD><FONT size="-1">PingServlet2MDBTopic drives messages to a Topic based Publish/Subscribe Message Driven EJB (MDB).Each request to the servlet posts a message to the Topic. The TradeStreamMDB receives the message asynchronously and prints message delivery statistics on each 100th message. Other subscribers to the Topic will also receive the messages.</FONT></TD>
+        </TR>
+        <TR>
+            <TD align="center"><A href="servlet/PingServlet2TwoPhase"><FONT size="-1">PingServlet2TwoPhase</FONT></A><FONT COLOR="#FF0000">*</FONT></TD>
+            <TD><FONT size="-1">PingServlet2TwoPhase drives a Session EJB which invokes an Entity EJB with findByPrimaryKey (DB Access) followed by posting a message to an MDB through a JMS Queue (Message access). These operations are wrapped in a global 2-phase transaction and commit.</FONT></TD>
+        </TR>
+    </TBODY>
+</TABLE>
+</CENTER>
+<CENTER>
+</CENTER>
+<HR>
+</BODY>
+</HTML>

Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/webservices.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/webservices.xml?rev=290479&view=auto
==============================================================================
--- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/webservices.xml (added)
+++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/webservices.xml Tue Sep 20 09:07:08 2005
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<webservices version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd">
+    <webservice-description>
+        <webservice-description-name>Trade</webservice-description-name>
+        <wsdl-file>WEB-INF/wsdl/TradeServices.wsdl</wsdl-file>
+        <jaxrpc-mapping-file>WEB-INF/TradeServices_mapping.xml</jaxrpc-mapping-file>
+        <port-component>
+            <port-component-name>TradeWSServices</port-component-name>
+            <wsdl-port xmlns:pfx="http://daytrader.samples.geronimo.apache.org">pfx:TradeWSServices</wsdl-port>
+            <service-endpoint-interface>org.apache.geronimo.samples.daytrader.TradeWSServices</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>org_apache_geronimo_samples_daytrader_TradeWSAction</servlet-link>
+            </service-impl-bean>
+        </port-component>
+    </webservice-description>
+</webservices>



Mime
View raw message