You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dw...@apache.org on 2009/08/28 21:52:14 UTC

svn commit: r809008 [4/7] - in /geronimo/daytrader/trunk: assemblies/ assemblies/daytrader-javaee/ assemblies/daytrader-javaee/src/ assemblies/daytrader-javaee/src/main/ assemblies/daytrader-javaee/src/main/resources/ assemblies/daytrader-javaee/src/ma...

Added: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/WEB-INF/wsdl/TradeServices.wsdl
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/WEB-INF/wsdl/TradeServices.wsdl?rev=809008&view=auto
==============================================================================
--- geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/WEB-INF/wsdl/TradeServices.wsdl (added)
+++ geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/WEB-INF/wsdl/TradeServices.wsdl Fri Aug 28 19:52:10 2009
@@ -0,0 +1,1303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+<wsdl:definitions targetNamespace="http://daytrader.samples.geronimo.apache.org" 
+             xmlns:impl="http://daytrader.samples.geronimo.apache.org" 
+             xmlns:intf="http://daytrader.samples.geronimo.apache.org" 
+             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+             xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
+             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+  <schema elementFormDefault="qualified" 
+          targetNamespace="http://daytrader.samples.geronimo.apache.org" 
+          xmlns="http://www.w3.org/2001/XMLSchema" 
+          xmlns:impl="http://daytrader.samples.geronimo.apache.org" 
+          xmlns:intf="http://daytrader.samples.geronimo.apache.org" 
+          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+   <element name="getMarketSummary">
+    <complexType>
+     <sequence/>
+    </complexType>
+   </element>
+   <complexType name="MarketSummaryDataBeanWS">
+    <sequence>
+     <element name="TSIA" nillable="true" type="xsd:decimal"/>
+     <element name="openTSIA" nillable="true" type="xsd:decimal"/>
+     <element name="volume" type="xsd:double"/>
+     <element name="topGainers" nillable="true" type="impl:ArrayOfQuoteDataBean"/>
+     <element name="topLosers" nillable="true" type="impl:ArrayOfQuoteDataBean"/>
+     <element name="summaryDate" nillable="true" type="xsd:dateTime"/>
+    </sequence>
+   </complexType>
+   <complexType name="QuoteDataBean">
+    <sequence>
+     <element name="symbol" nillable="true" type="xsd:string"/>
+     <element name="companyName" nillable="true" type="xsd:string"/>
+     <element name="price" nillable="true" type="xsd:decimal"/>
+     <element name="open" nillable="true" type="xsd:decimal"/>
+     <element name="low" nillable="true" type="xsd:decimal"/>
+     <element name="high" nillable="true" type="xsd:decimal"/>
+     <element name="change" type="xsd:double"/>
+     <element name="volume" type="xsd:double"/>
+    </sequence>
+   </complexType>
+   <complexType name="ArrayOfQuoteDataBean">
+    <sequence>
+     <element maxOccurs="unbounded" minOccurs="0" name="QuoteDataBean" nillable="true" type="impl:QuoteDataBean"/>
+    </sequence>
+   </complexType>
+   <element name="getMarketSummaryResponse">
+    <complexType>
+     <sequence>
+      <element name="getMarketSummaryReturn" nillable="true" type="impl:MarketSummaryDataBeanWS"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="buy">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+      <element name="symbol" nillable="true" type="xsd:string"/>
+      <element name="quantity" type="xsd:double"/>
+      <element name="orderProcessingMode" type="xsd:int"/>
+     </sequence>
+    </complexType>
+   </element>
+   <complexType name="OrderDataBean">
+    <sequence>
+     <element name="orderID" nillable="true" type="xsd:int"/>
+     <element name="orderType" nillable="true" type="xsd:string"/>
+     <element name="orderStatus" nillable="true" type="xsd:string"/>
+     <element name="openDate" nillable="true" type="xsd:dateTime"/>
+     <element name="completionDate" nillable="true" type="xsd:dateTime"/>
+     <element name="quantity" type="xsd:double"/>
+     <element name="price" nillable="true" type="xsd:decimal"/>
+     <element name="orderFee" nillable="true" type="xsd:decimal"/>
+     <element name="symbol" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <element name="buyResponse">
+    <complexType>
+     <sequence>
+      <element name="buyReturn" nillable="true" type="impl:OrderDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="sell">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+      <element name="holdingID" nillable="true" type="xsd:int"/>
+      <element name="orderProcessingMode" type="xsd:int"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="sellResponse">
+    <complexType>
+     <sequence>
+      <element name="sellReturn" nillable="true" type="impl:OrderDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="queueOrder">
+    <complexType>
+     <sequence>
+      <element name="orderID" nillable="true" type="xsd:int"/>
+      <element name="twoPhase" type="xsd:boolean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="queueOrderResponse">
+    <complexType>
+     <sequence/>
+    </complexType>
+   </element>
+   <element name="completeOrder">
+    <complexType>
+     <sequence>
+      <element name="orderID" nillable="true" type="xsd:int"/>
+      <element name="twoPhase" type="xsd:boolean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="completeOrderResponse">
+    <complexType>
+     <sequence>
+      <element name="completeOrderReturn" nillable="true" type="impl:OrderDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="cancelOrder">
+    <complexType>
+     <sequence>
+      <element name="orderID" nillable="true" type="xsd:int"/>
+      <element name="twoPhase" type="xsd:boolean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="cancelOrderResponse">
+    <complexType>
+     <sequence/>
+    </complexType>
+   </element>
+   <element name="orderCompleted">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+      <element name="orderID" nillable="true" type="xsd:int"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="orderCompletedResponse">
+    <complexType>
+     <sequence/>
+    </complexType>
+   </element>
+   <element name="getOrders">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <complexType name="ArrayOfOrderDataBean">
+    <sequence>
+     <element maxOccurs="unbounded" minOccurs="0" name="OrderDataBean" nillable="true" type="impl:OrderDataBean"/>
+    </sequence>
+   </complexType>
+   <element name="getOrdersResponse">
+    <complexType>
+     <sequence>
+      <element name="getOrdersReturn" nillable="true" type="impl:ArrayOfOrderDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getClosedOrders">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getClosedOrdersResponse">
+    <complexType>
+     <sequence>
+      <element name="getClosedOrdersReturn" nillable="true" type="impl:ArrayOfOrderDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="createQuote">
+    <complexType>
+     <sequence>
+      <element name="symbol" nillable="true" type="xsd:string"/>
+      <element name="companyName" nillable="true" type="xsd:string"/>
+      <element name="price" nillable="true" type="xsd:decimal"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="createQuoteResponse">
+    <complexType>
+     <sequence>
+      <element name="createQuoteReturn" nillable="true" type="impl:QuoteDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getQuote">
+    <complexType>
+     <sequence>
+      <element name="symbol" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getQuoteResponse">
+    <complexType>
+     <sequence>
+      <element name="getQuoteReturn" nillable="true" type="impl:QuoteDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getAllQuotes">
+    <complexType>
+     <sequence/>
+    </complexType>
+   </element>
+   <element name="getAllQuotesResponse">
+    <complexType>
+     <sequence>
+      <element name="getAllQuotesReturn" nillable="true" type="impl:ArrayOfQuoteDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="updateQuotePriceVolume">
+    <complexType>
+     <sequence>
+      <element name="symbol" nillable="true" type="xsd:string"/>
+      <element name="newPrice" nillable="true" type="xsd:decimal"/>
+      <element name="sharesTraded" type="xsd:double"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="updateQuotePriceVolumeResponse">
+    <complexType>
+     <sequence>
+      <element name="updateQuotePriceVolumeReturn" nillable="true" type="impl:QuoteDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getHoldings">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <complexType name="HoldingDataBean">
+    <sequence>
+     <element name="holdingID" nillable="true" type="xsd:int"/>
+     <element name="quantity" type="xsd:double"/>
+     <element name="purchasePrice" nillable="true" type="xsd:decimal"/>
+     <element name="purchaseDate" nillable="true" type="xsd:dateTime"/>
+     <element name="quoteID" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <complexType name="ArrayOfHoldingDataBean">
+    <sequence>
+     <element maxOccurs="unbounded" minOccurs="0" name="HoldingDataBean" nillable="true" type="impl:HoldingDataBean"/>
+    </sequence>
+   </complexType>
+   <element name="getHoldingsResponse">
+    <complexType>
+     <sequence>
+      <element name="getHoldingsReturn" nillable="true" type="impl:ArrayOfHoldingDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getHolding">
+    <complexType>
+     <sequence>
+      <element name="holdingID" nillable="true" type="xsd:int"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getHoldingResponse">
+    <complexType>
+     <sequence>
+      <element name="getHoldingReturn" nillable="true" type="impl:HoldingDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getAccountData">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <complexType name="AccountDataBean">
+    <sequence>
+     <element name="accountID" nillable="true" type="xsd:int"/>
+     <element name="loginCount" type="xsd:int"/>
+     <element name="logoutCount" type="xsd:int"/>
+     <element name="lastLogin" nillable="true" type="xsd:dateTime"/>
+     <element name="creationDate" nillable="true" type="xsd:dateTime"/>
+     <element name="balance" nillable="true" type="xsd:decimal"/>
+     <element name="openBalance" nillable="true" type="xsd:decimal"/>
+     <element name="profileID" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <element name="getAccountDataResponse">
+    <complexType>
+     <sequence>
+      <element name="getAccountDataReturn" nillable="true" type="impl:AccountDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="getAccountProfileData">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <complexType name="AccountProfileDataBean">
+    <sequence>
+     <element name="userID" nillable="true" type="xsd:string"/>
+     <element name="password" nillable="true" type="xsd:string"/>
+     <element name="fullName" nillable="true" type="xsd:string"/>
+     <element name="address" nillable="true" type="xsd:string"/>
+     <element name="email" nillable="true" type="xsd:string"/>
+     <element name="creditCard" nillable="true" type="xsd:string"/>
+    </sequence>
+   </complexType>
+   <element name="getAccountProfileDataResponse">
+    <complexType>
+     <sequence>
+      <element name="getAccountProfileDataReturn" nillable="true" type="impl:AccountProfileDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="updateAccountProfile">
+    <complexType>
+     <sequence>
+      <element name="profileData" nillable="true" type="impl:AccountProfileDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="updateAccountProfileResponse">
+    <complexType>
+     <sequence>
+      <element name="updateAccountProfileReturn" nillable="true" type="impl:AccountProfileDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="login">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+      <element name="password" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="loginResponse">
+    <complexType>
+     <sequence>
+      <element name="loginReturn" nillable="true" type="impl:AccountDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="logout">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="logoutResponse">
+    <complexType>
+     <sequence/>
+    </complexType>
+   </element>
+   <element name="register">
+    <complexType>
+     <sequence>
+      <element name="userID" nillable="true" type="xsd:string"/>
+      <element name="password" nillable="true" type="xsd:string"/>
+      <element name="fullname" nillable="true" type="xsd:string"/>
+      <element name="address" nillable="true" type="xsd:string"/>
+      <element name="email" nillable="true" type="xsd:string"/>
+      <element name="creditcard" nillable="true" type="xsd:string"/>
+      <element name="openBalance" nillable="true" type="xsd:decimal"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="registerResponse">
+    <complexType>
+     <sequence>
+      <element name="registerReturn" nillable="true" type="impl:AccountDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <element name="resetTrade">
+    <complexType>
+     <sequence>
+      <element name="deleteAll" type="xsd:boolean"/>
+     </sequence>
+    </complexType>
+   </element>
+   <complexType name="RunStatsDataBean">
+    <sequence>
+     <element name="tradeUserCount" type="xsd:int"/>
+     <element name="newUserCount" type="xsd:int"/>
+     <element name="sumLoginCount" type="xsd:int"/>
+     <element name="sumLogoutCount" type="xsd:int"/>
+     <element name="holdingCount" type="xsd:int"/>
+     <element name="buyOrderCount" type="xsd:int"/>
+     <element name="sellOrderCount" type="xsd:int"/>
+     <element name="cancelledOrderCount" type="xsd:int"/>
+     <element name="openOrderCount" type="xsd:int"/>
+     <element name="deletedOrderCount" type="xsd:int"/>
+     <element name="orderCount" type="xsd:int"/>
+     <element name="tradeStockCount" type="xsd:int"/>
+    </sequence>
+   </complexType>
+   <element name="resetTradeResponse">
+    <complexType>
+     <sequence>
+      <element name="resetTradeReturn" nillable="true" type="impl:RunStatsDataBean"/>
+     </sequence>
+    </complexType>
+   </element>
+  </schema>
+ </wsdl:types>
+
+   <wsdl:message name="createQuoteRequest">
+
+      <wsdl:part element="impl:createQuote" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="loginRequest">
+
+      <wsdl:part element="impl:login" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="createQuoteResponse">
+
+      <wsdl:part element="impl:createQuoteResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="buyResponse">
+
+      <wsdl:part element="impl:buyResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="buyRequest">
+
+      <wsdl:part element="impl:buy" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="cancelOrderRequest">
+
+      <wsdl:part element="impl:cancelOrder" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="sellResponse">
+
+      <wsdl:part element="impl:sellResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="queueOrderResponse">
+
+      <wsdl:part element="impl:queueOrderResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateAccountProfileResponse">
+
+      <wsdl:part element="impl:updateAccountProfileResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="registerResponse">
+
+      <wsdl:part element="impl:registerResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getClosedOrdersResponse">
+
+      <wsdl:part element="impl:getClosedOrdersResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="resetTradeRequest">
+
+      <wsdl:part element="impl:resetTrade" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="orderCompletedRequest">
+
+      <wsdl:part element="impl:orderCompleted" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getOrdersResponse">
+
+      <wsdl:part element="impl:getOrdersResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="orderCompletedResponse">
+
+      <wsdl:part element="impl:orderCompletedResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getHoldingsResponse">
+
+      <wsdl:part element="impl:getHoldingsResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="logoutRequest">
+
+      <wsdl:part element="impl:logout" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAllQuotesResponse">
+
+      <wsdl:part element="impl:getAllQuotesResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAccountProfileDataResponse">
+
+      <wsdl:part element="impl:getAccountProfileDataResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateAccountProfileRequest">
+
+      <wsdl:part element="impl:updateAccountProfile" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getOrdersRequest">
+
+      <wsdl:part element="impl:getOrders" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getHoldingsRequest">
+
+      <wsdl:part element="impl:getHoldings" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getClosedOrdersRequest">
+
+      <wsdl:part element="impl:getClosedOrders" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getMarketSummaryResponse">
+
+      <wsdl:part element="impl:getMarketSummaryResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="registerRequest">
+
+      <wsdl:part element="impl:register" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="loginResponse">
+
+      <wsdl:part element="impl:loginResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="queueOrderRequest">
+
+      <wsdl:part element="impl:queueOrder" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getHoldingResponse">
+
+      <wsdl:part element="impl:getHoldingResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="sellRequest">
+
+      <wsdl:part element="impl:sell" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateQuotePriceVolumeRequest">
+
+      <wsdl:part element="impl:updateQuotePriceVolume" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAccountDataRequest">
+
+      <wsdl:part element="impl:getAccountData" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAccountProfileDataRequest">
+
+      <wsdl:part element="impl:getAccountProfileData" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="resetTradeResponse">
+
+      <wsdl:part element="impl:resetTradeResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="updateQuotePriceVolumeResponse">
+
+      <wsdl:part element="impl:updateQuotePriceVolumeResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="cancelOrderResponse">
+
+      <wsdl:part element="impl:cancelOrderResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getHoldingRequest">
+
+      <wsdl:part element="impl:getHolding" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getMarketSummaryRequest">
+
+      <wsdl:part element="impl:getMarketSummary" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getQuoteRequest">
+
+      <wsdl:part element="impl:getQuote" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="logoutResponse">
+
+      <wsdl:part element="impl:logoutResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAllQuotesRequest">
+
+      <wsdl:part element="impl:getAllQuotes" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getQuoteResponse">
+
+      <wsdl:part element="impl:getQuoteResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="getAccountDataResponse">
+
+      <wsdl:part element="impl:getAccountDataResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="completeOrderResponse">
+
+      <wsdl:part element="impl:completeOrderResponse" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="completeOrderRequest">
+
+      <wsdl:part element="impl:completeOrder" name="parameters"/>
+
+   </wsdl:message>
+
+   <wsdl:portType name="TradeWSServices">
+
+      <wsdl:operation name="getMarketSummary">
+
+         <wsdl:input message="impl:getMarketSummaryRequest" name="getMarketSummaryRequest"/>
+
+         <wsdl:output message="impl:getMarketSummaryResponse" name="getMarketSummaryResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="buy">
+
+         <wsdl:input message="impl:buyRequest" name="buyRequest"/>
+
+         <wsdl:output message="impl:buyResponse" name="buyResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="sell">
+
+         <wsdl:input message="impl:sellRequest" name="sellRequest"/>
+
+         <wsdl:output message="impl:sellResponse" name="sellResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="queueOrder">
+
+         <wsdl:input message="impl:queueOrderRequest" name="queueOrderRequest"/>
+
+         <wsdl:output message="impl:queueOrderResponse" name="queueOrderResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="completeOrder">
+
+         <wsdl:input message="impl:completeOrderRequest" name="completeOrderRequest"/>
+
+         <wsdl:output message="impl:completeOrderResponse" name="completeOrderResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="cancelOrder">
+
+         <wsdl:input message="impl:cancelOrderRequest" name="cancelOrderRequest"/>
+
+         <wsdl:output message="impl:cancelOrderResponse" name="cancelOrderResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="orderCompleted">
+
+         <wsdl:input message="impl:orderCompletedRequest" name="orderCompletedRequest"/>
+
+         <wsdl:output message="impl:orderCompletedResponse" name="orderCompletedResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getOrders">
+
+         <wsdl:input message="impl:getOrdersRequest" name="getOrdersRequest"/>
+
+         <wsdl:output message="impl:getOrdersResponse" name="getOrdersResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getClosedOrders">
+
+         <wsdl:input message="impl:getClosedOrdersRequest" name="getClosedOrdersRequest"/>
+
+         <wsdl:output message="impl:getClosedOrdersResponse" name="getClosedOrdersResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createQuote">
+
+         <wsdl:input message="impl:createQuoteRequest" name="createQuoteRequest"/>
+
+         <wsdl:output message="impl:createQuoteResponse" name="createQuoteResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getQuote">
+
+         <wsdl:input message="impl:getQuoteRequest" name="getQuoteRequest"/>
+
+         <wsdl:output message="impl:getQuoteResponse" name="getQuoteResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAllQuotes">
+
+         <wsdl:input message="impl:getAllQuotesRequest" name="getAllQuotesRequest"/>
+
+         <wsdl:output message="impl:getAllQuotesResponse" name="getAllQuotesResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateQuotePriceVolume">
+
+         <wsdl:input message="impl:updateQuotePriceVolumeRequest" name="updateQuotePriceVolumeRequest"/>
+
+         <wsdl:output message="impl:updateQuotePriceVolumeResponse" name="updateQuotePriceVolumeResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getHoldings">
+
+         <wsdl:input message="impl:getHoldingsRequest" name="getHoldingsRequest"/>
+
+         <wsdl:output message="impl:getHoldingsResponse" name="getHoldingsResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getHolding">
+
+         <wsdl:input message="impl:getHoldingRequest" name="getHoldingRequest"/>
+
+         <wsdl:output message="impl:getHoldingResponse" name="getHoldingResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAccountData">
+
+         <wsdl:input message="impl:getAccountDataRequest" name="getAccountDataRequest"/>
+
+         <wsdl:output message="impl:getAccountDataResponse" name="getAccountDataResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAccountProfileData">
+
+         <wsdl:input message="impl:getAccountProfileDataRequest" name="getAccountProfileDataRequest"/>
+
+         <wsdl:output message="impl:getAccountProfileDataResponse" name="getAccountProfileDataResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateAccountProfile">
+
+         <wsdl:input message="impl:updateAccountProfileRequest" name="updateAccountProfileRequest"/>
+
+         <wsdl:output message="impl:updateAccountProfileResponse" name="updateAccountProfileResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="login">
+
+         <wsdl:input message="impl:loginRequest" name="loginRequest"/>
+
+         <wsdl:output message="impl:loginResponse" name="loginResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="logout">
+
+         <wsdl:input message="impl:logoutRequest" name="logoutRequest"/>
+
+         <wsdl:output message="impl:logoutResponse" name="logoutResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="register">
+
+         <wsdl:input message="impl:registerRequest" name="registerRequest"/>
+
+         <wsdl:output message="impl:registerResponse" name="registerResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="resetTrade">
+
+         <wsdl:input message="impl:resetTradeRequest" name="resetTradeRequest"/>
+
+         <wsdl:output message="impl:resetTradeResponse" name="resetTradeResponse"/>
+
+      </wsdl:operation>
+
+   </wsdl:portType>
+
+   <wsdl:binding name="TradeWSServicesSoapBinding" type="impl:TradeWSServices">
+
+      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+      <wsdl:operation name="getMarketSummary">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getMarketSummaryRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getMarketSummaryResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="buy">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="buyRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="buyResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="sell">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="sellRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="sellResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="queueOrder">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="queueOrderRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="queueOrderResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="completeOrder">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="completeOrderRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="completeOrderResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="cancelOrder">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="cancelOrderRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="cancelOrderResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="orderCompleted">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="orderCompletedRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="orderCompletedResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getOrders">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getOrdersRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getOrdersResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getClosedOrders">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getClosedOrdersRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getClosedOrdersResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="createQuote">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="createQuoteRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="createQuoteResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getQuote">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getQuoteRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getQuoteResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAllQuotes">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAllQuotesRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAllQuotesResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateQuotePriceVolume">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateQuotePriceVolumeRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateQuotePriceVolumeResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getHoldings">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getHoldingsRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getHoldingsResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getHolding">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getHoldingRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getHoldingResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAccountData">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAccountDataRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAccountDataResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="getAccountProfileData">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="getAccountProfileDataRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="getAccountProfileDataResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="updateAccountProfile">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="updateAccountProfileRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="updateAccountProfileResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="login">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="loginRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="loginResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="logout">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="logoutRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="logoutResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="register">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="registerRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="registerResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="resetTrade">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="resetTradeRequest">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="resetTradeResponse">
+
+            <wsdlsoap:body use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+
+   </wsdl:binding>
+
+   <wsdl:service name="Trade">
+
+      <wsdl:port binding="impl:TradeWSServicesSoapBinding" name="TradeWSServices">
+         <wsdlsoap:address location="http://localhost:8080/daytrader/services/TradeWSServices"/>
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/WEB-INF/wsdl/TradeServices.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/account.jsp
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/account.jsp?rev=809008&view=auto
==============================================================================
--- geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/account.jsp (added)
+++ geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/account.jsp Fri Aug 28 19:52:10 2009
@@ -0,0 +1,320 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>Trade Account information</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="accountProfileData"
+	type="org.apache.geronimo.samples.daytrader.AccountProfileDataBean"
+	scope="request" />
+<jsp:useBean id="orderDataBeans" type="java.util.Collection"
+	scope="request" />
+<TABLE height="54">
+	<TBODY>
+		<TR>
+			<TD bgcolor="#c93333" align="left" width="640" height="10" colspan=5><B><FONT
+				color="#ffffff">DayTrader Account</FONT></B></TD>
+			<TD align="center" bgcolor="#000000" width="100" height="10"><FONT
+				color="#ffffff"><B>DayTrader</B></FONT></TD>
+		</TR>
+		<TR align="left">
+			<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&amp;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>
+		<%
+boolean showAllOrders = request.getParameter("showAllOrders") == null ? false
+                    : true;
+            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="620">
+	<TBODY>
+		<TR>
+			<TD valign="top" width="643">
+			<TABLE width="100%">
+				<TBODY>
+					<TR>
+						<TD colspan="8"><FONT color="#ff0000"><%=results%></FONT></TD>
+					</TR>
+					<TR>
+						<TD colspan="8" align="left" bgcolor="#cccccc"><B>Account
+						Information</B></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">account
+						created:</A></TD>
+						<TD align="left" valign="bottom" colspan="2"><%=accountData.getCreationDate()%></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">last
+						login: </A></TD>
+						<TD align="left" valign="bottom" colspan="3"><%=accountData.getLastLogin()%></TD>
+						<TD align="left" valign="bottom"></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">account
+						ID</A></TD>
+						<TD valign="bottom"><%=accountData.getAccountID()%></TD>
+						<TD valign="bottom"></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">total
+						logins: </A></TD>
+						<TD valign="bottom"><%=accountData.getLoginCount()%></TD>
+						<TD valign="bottom"></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">cash
+						balance: </A></TD>
+						<TD valign="bottom"><%=accountData.getBalance()%></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">user
+						ID:</A></TD>
+						<TD valign="bottom"><%=accountData.getProfileID()%></TD>
+						<TD valign="bottom"></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">total
+						logouts: </A></TD>
+						<TD valign="bottom"><%=accountData.getLogoutCount()%></TD>
+						<TD valign="bottom"></TD>
+						<TD valign="bottom" align="right"><A href="docs/glossary.html">opening
+						balance: </A></TD>
+						<TD valign="bottom"><%=accountData.getOpenBalance()%></TD>
+					</TR>
+					<TR>
+						<TD colspan="8"></TD>
+					</TR>
+				</TBODY>
+			</TABLE>
+			<TABLE width="100%">
+				<TBODY>
+
+					<TR>
+						<TD colspan="5" bgcolor="#cccccc"><B>Total Orders: </B><%=orderDataBeans.size()%></TD>
+						<TD bgcolor="#cccccc" align="right"><B><A
+							href="app?action=account&amp;showAllOrders=true">show all orders</A></B></TD>
+					</TR>
+					<TR align="center">
+						<TD colspan="6">
+						<TABLE border="1" style="font-size: smaller">
+							<CAPTION align="bottom"><B>Recent Orders</B></CAPTION>
+							<TBODY>
+								<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>
+									<TD><A href="docs/glossary.html">price</A></TD>
+									<TD><A href="docs/glossary.html">total</A></TD>
+								</TR>
+								<%Iterator it = orderDataBeans.iterator();
+            int count = 0;
+            while (it.hasNext()) {
+                if ((showAllOrders == false) && (count++ >= 5))
+                    break;
+                OrderDataBean orderData = (OrderDataBean) it.next();
+
+                %>
+								<TR bgcolor="#fafcb6" align="center">
+									<TD><%=orderData.getOrderID()%></TD>
+									<TD><%=orderData.getOrderStatus()%></TD>
+									<TD><%=orderData.getOpenDate()%></TD>
+									<TD><%=orderData.getCompletionDate()%></TD>
+									<TD><%=orderData.getOrderFee()%></TD>
+									<TD><%=orderData.getOrderType()%></TD>
+									<TD><%=FinancialUtils.printQuoteLink(orderData.getSymbol())%></TD>
+									<TD><%=orderData.getQuantity()%></TD>
+									<TD><%=orderData.getPrice()%></TD>
+									<TD><%=orderData.getPrice().multiply(
+                                new BigDecimal(orderData.getQuantity()))%></TD>
+								</TR>
+								<%}
+
+            %>
+							</TBODY>
+						</TABLE>
+						</TD>
+					</TR>
+					<TR>
+						<TD colspan="6"></TD>
+					</TR>
+				</TBODY>
+			</TABLE>
+            <FORM>
+			<TABLE width="100%">
+				<TBODY>
+					<TR>
+						<TD colspan="6" bgcolor="#cccccc"><B>Account Profile</B></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="top" width="113"><A
+							href="docs/glossary.html">user ID:</A></TD>
+						<TD align="left" valign="top" colspan="2" width="228"><INPUT
+							size="30" type="text" maxlength="30" readonly name="userID"
+							value="<%= accountProfileData.getUserID() %>"></TD>
+						<TD align="right" valign="top" width="73" colspan="2"><A
+							href="docs/glossary.html">full name: </A></TD>
+						<TD align="left" valign="top"><INPUT size="30" type="text"
+							maxlength="30" name="fullname"
+							value="<%= accountProfileData.getFullName() %>"></TD>
+					</TR>
+					<TR>
+						<TD align="right" width="113"><A href="docs/glossary.html">password:
+						</A></TD>
+						<TD colspan="2" width="228"><INPUT size="30" type="password"
+							maxlength="30" name="password"
+							value="<%= accountProfileData.getPassword() %>"></TD>
+						<TD align="right" width="73" colspan="2"><A
+							href="docs/glossary.html">address: </A></TD>
+						<TD><INPUT size="30" type="text" maxlength="30" name="address"
+							value="<%= accountProfileData.getAddress() %>"></TD>
+					</TR>
+					<TR>
+						<TD align="right" width="113"><A href="docs/glossary.html">confirm
+						password: </A><BR>
+						</TD>
+						<TD colspan="2" align="left" width="228"><INPUT size="30"
+							type="password" maxlength="30" name="cpassword"
+							value="<%= accountProfileData.getPassword() %>"></TD>
+						<TD align="right" width="73" colspan="2"><A
+							href="docs/glossary.html">credit card: </A></TD>
+						<TD align="left"><INPUT size="30" type="text" maxlength="30"
+							name="creditcard"
+							value="<%= accountProfileData.getCreditCard() %>" readonly></TD>
+					</TR>
+					<TR>
+						<TD align="right" width="113"><A href="docs/glossary.html">email
+						address: </A></TD>
+						<TD colspan="2" align="left" width="228"><INPUT size="30"
+							type="text" maxlength="30" name="email"
+							value="<%= accountProfileData.getEmail() %>"></TD>
+						<TD align="right" width="73" colspan="2"></TD>
+						<TD align="center"><INPUT type="submit" name="action"
+							value="update_profile"></TD>
+					</TR>
+					<TR>
+						<TD width="113"></TD>
+						<TD colspan="5"></TD>
+					</TR>
+				</TBODY>
+			</TABLE>
+            </FORM>
+			</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 action=""><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="#c93333" align="left" width="640" height="10"><B><FONT
+				color="#ffffff">DayTrader Account</FONT></B></TD>
+			<TD align="center" bgcolor="#000000" width="100" height="10"><FONT
+				color="#ffffff"><B>DayTrader</B></FONT></TD>
+		</TR>
+	</TBODY>
+</TABLE>
+</BODY>
+</HTML>

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/account.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/accountImg.jsp
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/accountImg.jsp?rev=809008&view=auto
==============================================================================
--- geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/accountImg.jsp (added)
+++ geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/accountImg.jsp Fri Aug 28 19:52:10 2009
@@ -0,0 +1,335 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>DayTrader Account Information</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="accountProfileData"
+	type="org.apache.geronimo.samples.daytrader.AccountProfileDataBean"
+	scope="request" />
+<jsp:useBean id="orderDataBeans" type="java.util.Collection"
+	scope="request" />
+<TABLE height="54">
+	<TBODY>
+		<TR>
+			<TD bgcolor="#c93333" align="left" width="640" height="10" colspan=5><B><FONT
+				color="#ffffff">DayTrader Account</FONT></B></TD>
+			<TD align="center" bgcolor="#000000" width="100" height="10"><FONT
+				color="#ffffff"><B>DayTrader</B></FONT></TD>
+		</TR>
+		<TR align="left">
+			<TD><A href="app?action=home"><IMG src="images/menuHome.gif" width="80"
+				height="20" border="0" alt=""></A></TD>
+			<TD><A href="app?action=account"><IMG src="images/account.gif"
+				width="80" height="20" border="0" alt=""></A></TD>
+			<TD><B><A href="app?action=portfolio"><IMG src="images/portfolio.gif"
+				width="80" height="20" border="0" alt=""></A> </B></TD>
+			<TD><A href="app?action=quotes&amp;symbols=s:0,s:1,s:2,s:3,s:4"><IMG
+				src="images/quotes.gif" width="80" height="20" border="0" alt=""></A></TD>
+			<TD><A href="app?action=logout"><IMG src="images/logout.gif"
+				width="80" height="20" border="0" alt=""></A></TD>
+			<TD><IMG src="images/graph.gif" width="32" height="32" border="0"
+				alt=""></TD>
+		</TR>
+		<TR>
+			<TD align="left" colspan="6"><IMG src="images/line.gif" width="600"
+				height="6" border="0" alt=""><FONT color="#ff0000" size="-2"><BR>
+			<%= new java.util.Date() %></FONT></TD>
+		</TR>
+		<%
+boolean showAllOrders = request.getParameter("showAllOrders")==null?false:true;
+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="620">
+	<TBODY>
+		<TR>
+			<TD valign="top" width="643">
+			<TABLE width="100%">
+				<TBODY>
+					<TR>
+						<TD colspan="8"><FONT color="#ff0000"><%= results %></FONT></TD>
+					</TR>
+					<TR>
+						<TD colspan="8" align="left" bgcolor="#cccccc"><B>Account
+						Information</B></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">account
+						created:</A></TD>
+						<TD align="left" valign="bottom" colspan="2"><%= accountData.getCreationDate()
+%></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">last
+						login: </A></TD>
+						<TD align="left" valign="bottom" colspan="3"><%= accountData.getLastLogin()
+%></TD>
+						<TD align="left" valign="bottom"></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">account
+						ID</A></TD>
+						<TD valign="bottom"><%= accountData.getAccountID()
+%></TD>
+						<TD valign="bottom"></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">total
+						logins: </A></TD>
+						<TD valign="bottom"><%= accountData.getLoginCount()
+%></TD>
+						<TD valign="bottom"></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">cash
+						balance: </A></TD>
+						<TD valign="bottom"><%= accountData.getBalance()
+%></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">user
+						ID:</A></TD>
+						<TD valign="bottom"><%= accountData.getProfileID()
+%></TD>
+						<TD valign="bottom"></TD>
+						<TD align="right" valign="bottom"><A href="docs/glossary.html">total
+						logouts: </A></TD>
+						<TD valign="bottom"><%= accountData.getLogoutCount()
+%></TD>
+						<TD valign="bottom"></TD>
+						<TD valign="bottom" align="right"><A href="docs/glossary.html">opening
+						balance: </A></TD>
+						<TD valign="bottom"><%= accountData.getOpenBalance()
+%></TD>
+					</TR>
+					<TR>
+						<TD colspan="8"></TD>
+					</TR>
+				</TBODY>
+			</TABLE>
+			<TABLE width="100%">
+				<TBODY>
+
+					<TR>
+						<TD colspan="5" bgcolor="#cccccc"><B>Total Orders: </B><%= orderDataBeans.size()
+%></TD>
+						<TD bgcolor="#cccccc" align="right"><B><A
+							href="app?action=account&amp;showAllOrders=true">show all orders</A></B></TD>
+					</TR>
+					<TR align="center">
+						<TD colspan="6">
+						<TABLE border="1" style="font-size: smaller">
+							<CAPTION align="bottom"><B>Recent Orders</B></CAPTION>
+							<TBODY>
+								<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>
+									<TD><A href="docs/glossary.html">price</A></TD>
+									<TD><A href="docs/glossary.html">total</A></TD>
+								</TR>
+								<% 
+Iterator it = orderDataBeans.iterator();
+int count=0;
+while (it.hasNext()) {
+    if ( (showAllOrders == false) && (count++ >= 5) )
+    	break;
+	OrderDataBean orderData = (OrderDataBean) it.next();                        	
+                         %>
+								<TR bgcolor="#fafcb6" align="center">
+									<TD><%= orderData.getOrderID() %></TD>
+									<TD><%= orderData.getOrderStatus() %></TD>
+									<TD><%= orderData.getOpenDate() %></TD>
+									<TD><%= orderData.getCompletionDate() %></TD>
+									<TD><%= orderData.getOrderFee() %></TD>
+									<TD><%= orderData.getOrderType() %></TD>
+									<TD><%= FinancialUtils.printQuoteLink(orderData.getSymbol()) %></TD>
+									<TD><%= orderData.getQuantity() %></TD>
+									<TD><%= orderData.getPrice() %></TD>
+									<TD><%= orderData.getPrice().multiply(new BigDecimal(orderData.getQuantity())) %></TD>
+								</TR>
+								<% }
+				%>
+							</TBODY>
+						</TABLE>
+						</TD>
+					</TR>
+					<TR>
+						<TD colspan="6"></TD>
+					</TR>
+				</TBODY>
+			</TABLE>
+            <FORM>
+			<TABLE width="100%">
+				<TBODY>
+					<TR>
+						<TD colspan="6" bgcolor="#cccccc"><B>Account Profile</B></TD>
+					</TR>
+					<TR>
+						<TD align="right" valign="top" width="113"><A
+							href="docs/glossary.html">user ID:</A></TD>
+						<TD align="left" valign="top" colspan="2" width="228"><INPUT
+							size="30" type="text" maxlength="30" readonly name="userID"
+							value="<%= accountProfileData.getUserID() %>"></TD>
+						<TD align="right" valign="top" width="73" colspan="2"><A
+							href="docs/glossary.html">full name: </A></TD>
+						<TD align="left" valign="top"><INPUT size="30" type="text"
+							maxlength="30" name="fullname"
+							value="<%= accountProfileData.getFullName() %>"></TD>
+					</TR>
+					<TR>
+						<TD align="right" width="113"><A href="docs/glossary.html">password:
+						</A></TD>
+						<TD colspan="2" width="228"><INPUT size="30" type="password"
+							maxlength="30" name="password"
+							value="<%= accountProfileData.getPassword() %>"></TD>
+						<TD align="right" width="73" colspan="2"><A
+							href="docs/glossary.html">address: </A></TD>
+						<TD><INPUT size="30" type="text" maxlength="30" name="address"
+							value="<%= accountProfileData.getAddress() %>"></TD>
+					</TR>
+					<TR>
+						<TD align="right" width="113"><A href="docs/glossary.html">confirm
+						password: </A><BR>
+						</TD>
+						<TD colspan="2" align="left" width="228"><INPUT size="30"
+							type="password" maxlength="30" name="cpassword"
+							value="<%= accountProfileData.getPassword() %>"></TD>
+						<TD align="right" width="73" colspan="2"><A
+							href="docs/glossary.html">credit card: </A></TD>
+						<TD align="left"><INPUT size="30" type="text" maxlength="30"
+							name="creditcard"
+							value="<%= accountProfileData.getCreditCard() %>" readonly></TD>
+					</TR>
+					<TR>
+						<TD align="right" width="113"><A href="docs/glossary.html">email
+						address: </A></TD>
+						<TD colspan="2" align="left" width="228"><INPUT size="30"
+							type="text" maxlength="30" name="email"
+							value="<%= accountProfileData.getEmail() %>"></TD>
+						<TD align="right" width="73" colspan="2"></TD>
+						<TD align="center"><INPUT type="submit" name="action"
+							value="update_profile"></TD>
+					</TR>
+					<TR>
+						<TD width="113"></TD>
+						<TD colspan="5"></TD>
+					</TR>
+				</TBODY>
+			</TABLE>
+            </FORM>
+			</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 action=""><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="#c93333" align="left" width="640" height="10"><B><FONT
+				color="#ffffff">DayTrader Account</FONT></B></TD>
+			<TD align="center" bgcolor="#000000" width="100" height="10"><FONT
+				color="#ffffff"><B>DayTrader</B></FONT></TD>
+		</TR>
+		<TR>
+			<TD colspan="4" align="center"><IMG src="images/ticker-anim.gif"
+				width="385" height="22" border="0" align="middle" alt=""></TD>
+		</TR>
+	</TBODY>
+</TABLE>
+</BODY>
+</HTML>

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/accountImg.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/config.jsp
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/config.jsp?rev=809008&view=auto
==============================================================================
--- geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/config.jsp (added)
+++ geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/config.jsp Fri Aug 28 19:52:10 2009
@@ -0,0 +1,348 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>Welcome to DayTrader</TITLE>
+</HEAD>
+<BODY bgcolor="#ffffff" link="#000099">
+<%@ page import="org.apache.geronimo.samples.daytrader.TradeConfig"
+	session="false" isThreadSafe="true" isErrorPage="false"%>
+
+<TABLE style="font-size: smaller">
+	<TBODY>
+		<TR>
+			<TD bgcolor="#c93333" align="left" width="640" height="10"><B><FONT
+				color="#ffffff">DayTrader Configuration</FONT></B></TD>
+			<TD align="center" bgcolor="#000000" width="100" height="10"><FONT
+				color="#ffffff"><B>DayTrader</B></FONT></TD>
+		</TR>
+		<TR>
+			<TD colspan="6">
+			<HR>
+			</TD>
+		</TR>
+		<TR>
+			<TD colspan="6"></TD>
+		</TR>
+	</TBODY>
+</TABLE>
+
+<%
+String status;
+status = (String) request.getAttribute("status");
+if (status != null) {
+%>
+<TABLE width="740" height="30">
+	<TBODY>
+		<TR>
+			<TD></TD>
+			<TD><FONT color="#ff0033"><% out.print(status); %> </FONT></TD>
+			<TD></TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<%
+}
+%>
+
+<FORM action="config" method="POST"><INPUT type="hidden" name="action"
+	value="updateConfig">
+
+<TABLE border="1" width="740">
+	<TBODY>
+		<TR>
+			<TD colspan="2">The current DayTrader runtime configuration is
+			detailed below. View and optionally update run-time parameters.
+			&nbsp;<BR>
+			<BR>
+			<B>NOTE: </B>Parameters settings will return to default
+			on&nbsp;server restart. To make configuration settings persistent
+			across application server stop/starts, edit the servlet init
+			parameters for each DayTrader servlet. This is described in the <A
+				href="docs/tradeFAQ.html">DayTrader FAQ</A>.<BR>
+			<HR>
+			</TD>
+		</TR>
+		<TR>
+			<TD align="left"><B>Run-Time Mode </B>
+			<P align="left"><%String configParm = "RunTimeMode";
+String names[] = TradeConfig.runTimeModeNames;
+int index = TradeConfig.runTimeMode;
+for (int i = 0; i < names.length; i++) {
+	out.print(
+		"<INPUT type=\"radio\" name=\""
+			+ configParm
+			+ "\" value=\""
+			+ i
+			+ "\" ");
+	if (index == i)
+		out.print("checked");
+	out.print("> " + names[i] + "<BR>");
+}
+%></P>
+			</TD>
+			<TD><BR>
+			Run Time Mode determines server implementation of the TradeServices
+			to use in the DayTrader application Enterprise Java Beans including
+			Session, Entity and Message beans or Direct mode which uses direct
+			database and JMS access. See <A href="docs/tradeFAQ.html">DayTrader
+			FAQ</A> for details.<BR>
+			</TD>
+		</TR>
+		
+		
+		<TR>
+			<TD align="left"><B>JPA Layer</B>
+			<P align="left"><%configParm = "JPALayer";
+names = TradeConfig.jpaLayerNames;
+index = TradeConfig.jpaLayer;
+for (int i = 0; i < names.length; i++) {
+	out.print(
+		"<INPUT type=\"radio\" name=\""
+			+ configParm
+			+ "\" value=\""
+			+ i
+			+ "\" ");
+	if (index == i)
+		out.print("checked");
+	out.print("> " + names[i] + "<BR>");
+}
+%></P>
+			</TD>
+			<TD><BR>
+			JPA Layer determines what kind of JPA Implementation Daytrader 
+			EJB classes use. Typically, Apache Geronimo uses OpenJPA, and RedHat
+			JBoss 5 uses Hibernate.<BR>
+			</TD>
+		</TR>
+
+
+		<TR>
+			<TD align="left"><B>Order-Processing Mode </B>
+			<P align="left"><%configParm = "OrderProcessingMode";
+names = TradeConfig.orderProcessingModeNames;
+index = TradeConfig.orderProcessingMode;
+for (int i = 0; i < names.length; i++) {
+	out.print(
+		"<INPUT type=\"radio\" name=\""
+			+ configParm
+			+ "\" value=\""
+			+ i
+			+ "\" ");
+	if (index == i)
+		out.print("checked");
+	out.print("> " + names[i] + "<BR>");
+}
+%></P>
+			</TD>
+			<TD><BR>
+			Order Processing Mode determines the mode for completing stock
+			purchase and sell operations. Synchronous mode completes the order
+			immediately. Asychronous_2-Phase performs a 2-phase commit over the EJB Entity/DB
+ 			and MDB/JMS transactions. See <A href="docs/tradeFAQ.html">DayTrader
+ 			FAQ</A> for details. <B></B><BR>
+ 			</TD>
+		</TR>
+		<TR>
+			<TD align="left"><B>Access Mode </B>
+			<P align="left"><%configParm = "AcessMode";
+names = TradeConfig.accessModeNames;
+index = TradeConfig.getAccessMode();
+for (int i = 0; i < names.length; i++) {
+	out.print(
+		"<INPUT type=\"radio\" name=\""
+			+ configParm
+			+ "\" value=\""
+			+ i
+			+ "\" ");
+	if (index == i)
+		out.print("checked");
+	out.print("> " + names[i] + "<BR>");
+}
+%></P>
+			<P><B> Web Services Endpoint <BR>
+			<INPUT name="SOAP_URL" size="30" type="text"
+				value='<%=(TradeConfig.getSoapURL() == null) ? "" : TradeConfig.getSoapURL()%>'>
+			<BR>
+			</B></P>
+			</TD>
+			<TD><BR>
+			Access Mode determines the protocol used by the DayTrader Web
+			application to access server side services. The Standard mode uses
+			the default Java RMI protocol. The Web Services mode uses the Axis
+			implementation of Web Services including SOAP, WSDL and UDDI. <BR>
+			For the Web Services Access mode, set the Web Services Endpoint URL
+			to point to the host and port which is running the DayTrader
+			Application Web Services module. <BR>
+			</TD>
+		</TR>
+		<TR>
+			<TD align="left"><B>Scenario Workload Mix</B>
+			<P align="left"><%configParm = "WorkloadMix";
+names = TradeConfig.workloadMixNames;
+index = TradeConfig.workloadMix;
+for (int i = 0; i < names.length; i++) {
+	out.print(
+		"<INPUT type=\"radio\" name=\""
+			+ configParm
+			+ "\" value=\""
+			+ i
+			+ "\" ");
+	if (index == i)
+		out.print("checked");
+	out.print("> " + names[i] + "<BR>");
+}
+%></P>
+			</TD>
+			<TD>This setting determines the runtime workload mix of DayTrader
+			operations when driving the benchmark through TradeScenarioServlet.
+			See <A href="docs/tradeFAQ.html">DayTrader FAQ</A> for details.</TD>
+		</TR>
+		<TR>
+			<TD align="left"><B>WebInterface</B>
+			<P align="left"><%configParm = "WebInterface";
+names = TradeConfig.webInterfaceNames;
+index = TradeConfig.webInterface;
+for (int i = 0; i < names.length; i++) {
+	out.print(
+		"<INPUT type=\"radio\" name=\""
+			+ configParm
+			+ "\" value=\""
+			+ i
+			+ "\" ");
+	if (index == i)
+		out.print("checked");
+	out.print("> " + names[i] + "<BR>");
+}
+%></P>
+			</TD>
+			<TD>This setting determines the Web interface technology used, JSPs
+			or JSPs with static images and GIFs.</TD>
+		</TR>
+		<!--		<TR>
+			<TD align="left">
+			<B>Caching Type</B>
+			<P align="left"><%configParm = "CachingType";
+names = TradeConfig.cachingTypeNames;
+index = TradeConfig.cachingType;
+for (int i = 0; i < names.length; i++) {
+	out.print(
+		"<INPUT type=\"radio\" name=\""
+			+ configParm
+			+ "\" value=\""
+			+ i
+			+ "\" ");
+	if (index == i)
+		out.print("checked");
+	out.print("> " + names[i] + "<BR>");
+}
+%></P>
+			</TD>
+			<TD>
+			This setting determines the caching technology used for data caching
+			, DistributedMap, Command Caching or No Caching.
+			</TD>
+		</TR>-->
+		<TR>
+			<TD colspan="2" align="center"><B>Miscellaneous Settings</B></TD>
+		</TR>
+		<TR>
+			<TD align="left"><B>DayTrader Max Users </B><BR>
+			<INPUT size="25" type="text" name="MaxUsers"
+				value="<%=TradeConfig.getMAX_USERS()%>"><BR>
+			<B>Trade Max Quotes</B><BR>
+			<INPUT size="25" type="text" name="MaxQuotes"
+				value="<%=TradeConfig.getMAX_QUOTES()%>"></TD>
+			<TD>By default the DayTrader database is populated with 200 users
+			(uid:0 - uid:199) and 400 quotes (s:0 - s:399). <BR>
+			</TD>
+		</TR>
+		<TR>
+			<TD align="left"><B>Market Summary Interval</B><BR>
+			<INPUT size="25" type="text" name="marketSummaryInterval"
+				value="<%=TradeConfig.getMarketSummaryInterval()%>"></TD>
+			<TD>&lt; 0 Do not perform Market Summary Operations.
+			<br>= 0 Perform market Summary on every request.</br>
+			<br>&gt; 0 number of seconds between Market Summary Operations</br></TD>
+		</TR>
+		<TR>
+			<TD align="left"><B>Primitive Iteration</B><BR>
+			<INPUT size="25" type="text" name="primIterations"
+				value="<%=TradeConfig.getPrimIterations()%>"></TD>
+			<TD>By default the DayTrader primitives are execute one operation per
+			web request. Change this value to repeat operations multiple times
+			per web request.</TD>
+		</TR>
+		<TR>
+			<TD align="left"><INPUT type="checkbox"
+                <%=TradeConfig.getPublishQuotePriceChange() ? "checked" : ""%>
+                name="EnablePublishQuotePriceChange"> <B><FONT size="-1">Publish Quote Updates</FONT></B><BR>
+            </TD>
+            <TD>
+                Publish quote price changes to a JMS topic.<BR>
+            </TD>
+        </TR>
+		<TR>
+			<TD align="left"><INPUT type="checkbox"
+                <%=TradeConfig.getLongRun() ? "checked" : ""%>
+                name="EnableLongRun"> <B><FONT size="-1">Enable long run support</FONT></B><BR>
+            </TD>
+            <TD>
+                Enable long run support by disabling the show all orders query performed on the Account page.<BR>
+            </TD>
+        </TR>
+        <TR>
+            <TD align="left">
+            <INPUT type="checkbox"
+				<%=TradeConfig.getActionTrace() ? "checked" : ""%>
+				name="EnableActionTrace"> <B><FONT size="-1">Enable operation trace</FONT></B><BR>
+			<INPUT type="checkbox" <%=TradeConfig.getTrace() ? "checked" : ""%>
+				name="EnableTrace"> <B><FONT size="-1">Enable full trace</FONT></B>
+			</TD>
+			<TD>Enable DayTrader processing trace messages<BR>
+			</TD>
+		</TR>
+		<TR>
+			<TD colspan="2" align="right"><INPUT type="submit"
+				value="Update Config"></TD>
+		</TR>
+	</TBODY>
+</TABLE>
+
+<TABLE width="740" height="54" style="font-size: smaller">
+	<TBODY>
+		<TR>
+			<TD colspan="2">
+			<HR>
+			</TD>
+		</TR>
+		<TR>
+			<TD colspan="2"></TD>
+		</TR>
+		<TR>
+			<TD bgcolor="#c93333" align="left" width="640" height="10"><B><FONT
+				color="#ffffff">DayTrader Configuration</FONT></B></TD>
+			<TD align="center" bgcolor="#000000" width="100" height="10"><FONT
+				color="#ffffff"><B>DayTrader</B></FONT></TD>
+		</TR>
+	</TBODY>
+</TABLE>
+</FORM>
+</BODY>
+</HTML>

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/config.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/configure.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/configure.html?rev=809008&view=auto
==============================================================================
--- geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/configure.html (added)
+++ geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/configure.html Fri Aug 28 19:52:10 2009
@@ -0,0 +1,95 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!-- Sample HTML file -->
+
+<HTML>
+<HEAD>
+    <META http-equiv="Content-Style-Type" content="text/css">
+    <TITLE>Configuration and utilities</TITLE>
+</HEAD>
+
+<BODY BGCOLOR="#FFFFFF">
+<TABLE width="740" align="left" border="1">
+    <TBODY>
+        <TR>
+            <TD align="center" colspan="2">
+                <H3>Configuration Utilities</H3>
+            </TD>
+        </TR>
+        <TR>
+            <TD align="center"><B><FONT face="Times New Roman" size="-1">Benchmark
+                Configuration <BR>
+                Tools</FONT></B></TD>
+            <TD align="center"><B><FONT face="Times New Roman" size="-1"></FONT>Description
+            </B></TD>
+        </TR>
+        <TR>
+            <TD><A href="config?action=resetTrade"><FONT face="Times New Roman"
+                                                         size="-1">Reset DayTrader<BR>
+                (to be done before each run)</FONT></A></TD>
+            <TD>Reset the DayTrader runtime to a clean starting point by logging
+                off all users, removing new registrations and other general cleanup.
+                For consistent results this URL should be run <B>before each </B>Trade
+                run.</TD>
+        </TR>
+        <TR>
+            <TD><A href="config" target="_self"><FONT face="Times New Roman"
+                                                      size="-1">Configure DayTrader run-time parameters</FONT></A></TD>
+            <TD>This link provides an interface to set configuration parameters
+                that control DayTrader run-time characteristics such as using EJBs or
+                JDBC. This link also provides utilities such as setting the UID and
+                Password for a remote or protected database when using JDBC.</TD>
+        </TR>
+        <TR>
+            <TD><A href="config?action=buildDBTables"><FONT
+                    face="Times New Roman" size="-1">(Re)-create
+                &nbsp;DayTrader&nbsp;Database Tables and Indexes</FONT></A></TD>
+            <TD>This link is used to (a) initially create or (b) drop and re-create the
+                DayTrader tables. <b>A DayTrader database should exist before doing this action</b>, 
+                the existing DayTrader tables, if any, are dropped, then new
+                tables and indexes are created. <b>Please stop and re-start the Daytrader application 
+                (or your application server) after this action and then use the "Repopulate 
+                DayTrader Database" link below to repopulate the new database tables.</b></TD>
+        </TR>
+        <TR>
+            <TD><A href="config?action=buildDB"><FONT
+                    face="Times New Roman" size="-1">(Re)-populate
+                &nbsp;DayTrader&nbsp;Database</FONT></A></TD>
+            <TD>This link is used to initially populate or re-populate the
+                DayTrader database with fictitious users (uid:0, uid:1, ...) and
+                stocks (s:0, s:1, ...). First all existing users and stocks are
+                deleted (if any). The database is then populated with a new set of
+                DayTrader users and stocks. This option does not drop and recreate the 
+                Daytrader db tables.</TD>
+        </TR>
+        <TR>
+            <TD><A href="scenario" target="_blank"><FONT face="Times New Roman"
+                                                         size="-1">Test DayTrader Scenario</FONT></A></TD>
+            <TD>This links pops up a browser to manually step through a DayTrader
+                scenario by hitting &quot;Reload&quot; on your browser</TD>
+        </TR>
+        <TR>
+            <TD><FONT size="-1"><A href="docs/tradeversion.html">DayTrader
+                Version</A></FONT></TD>
+            <TD>DayTrader application version and change history information</TD>
+        </TR>
+    </TBODY>
+</TABLE>
+
+</BODY>
+</HTML>

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/configure.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/configure.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/contentHome.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/contentHome.html?rev=809008&view=auto
==============================================================================
--- geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/contentHome.html (added)
+++ geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/contentHome.html Fri Aug 28 19:52:10 2009
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!-- Sample HTML file -->
+
+<HTML>
+<HEAD>
+<META http-equiv="Content-Style-Type" content="text/css">
+<TITLE>Geronimo performance benchmark sample overview</TITLE>
+</HEAD>
+
+<BODY bgcolor="#FFFFFF">
+<TABLE width="740">
+	<TR>
+		<TD>
+		<HR>
+		</TD>
+	</TR>
+	<TR>
+		<TD>
+		<P align="left"><FONT size="+1"><B>Overview</B></FONT></P>
+		<BLOCKQUOTE><FONT face="Times New Roman" size="-1">The Geronimo<SUP>TM</SUP>
+		performance benchmark sample provides a suite of Apache developed
+		workloads for characterizing performance of the Geronimo J2EE
+		Application Server. The workloads consist of an end to end web
+		application and a full set of primitives. The applications are a
+		collection of Java classes, Java Servlets, Java Server Pages, Web
+		Services, and Enterprise Java Beans built to open J2EE APIs. Together
+		these provide versatile and portable test cases designed to measure
+		aspects of scalability and performance.</FONT></BLOCKQUOTE>
+		<P align="center"><IMG src="images/tradeOverview.png" width="717" height="538" border="0" alt=""> <BR>
+		<B>DayTrader J2EE Components </B><BR>
+		<B>Model-View-Controller Architecture</B></P>
+		<BLOCKQUOTE><FONT size="-1"><B>DayTrader</B><BR>
+		DayTrader is the Geronimo end-to-end benchmark and performance sample
+		application. The new DayTrader benchmark has been re-designed and
+		developed to cover Geronimo's significantly expanding programming
+		model. This provides a real world workload driving Geronimo's
+		implementation of J2EE 1.4 and Web Services including key Geronimo
+		performance components and features.<BR>
+		<BR>
+		DayTrader's new design spans J2EE 1.4 including the new EJB 2.1
+		component architecture, Message Driven beans, transactions (1-phase,
+		2-phase commit) and Web Services (SOAP, WSDL).<BR>
+		<BR>
+		<B>Primitives</B><BR>
+		</FONT><FONT face="Times New Roman" size="-1">The <A
+			href="web_prmtv.html">Primitives</A> provide a set of workloads to
+		individually test various components of the Geronimo Application
+		Server. The primitives leverage the DayTrader application
+		infrastructure to test specific Geronimo J2EE components such as the
+		servlet engine, JSP support, EJB Entitiy, Session and Message Driven
+		beans, HTTP Session support and more.</FONT></BLOCKQUOTE>
+		<BLOCKQUOTE><FONT face="Times New Roman" size="-1">Additional overview
+		information is included in the <A href="docs/tradeFAQ.html">FAQ</A></FONT></BLOCKQUOTE>
+		</TD>
+	</TR>
+	<TR>
+		<TD>
+		<HR>
+		</TD>
+	</TR>
+</TABLE>
+
+</BODY>
+</HTML>

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/contentHome.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/contentHome.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/dbscripts/db2/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/dbscripts/db2/Table.ddl?rev=809008&view=auto
==============================================================================
--- geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/dbscripts/db2/Table.ddl (added)
+++ geronimo/daytrader/trunk/assemblies/daytrader-web-ejb/src/main/webapp/dbscripts/db2/Table.ddl Fri Aug 28 19:52:10 2009
@@ -0,0 +1,107 @@
+##    Licensed to the Apache Software Foundation (ASF) under one or more
+##    contributor license agreements.  See the NOTICE file distributed with
+##    this work for additional information regarding copyright ownership.
+##    The ASF licenses this file to You 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.
+
+# Each SQL statement in this file should terminate with a semicolon (;)
+# Lines starting with the pound character (#) are considered as comments
+DROP TABLE HOLDINGEJB;
+DROP TABLE ACCOUNTPROFILEEJB;
+DROP TABLE QUOTEEJB;
+DROP TABLE KEYGENEJB;
+DROP TABLE ACCOUNTEJB;
+DROP TABLE ORDEREJB;
+
+CREATE TABLE HOLDINGEJB
+  (PURCHASEPRICE DECIMAL(14, 2),
+   HOLDINGID INTEGER NOT NULL,
+   QUANTITY DOUBLE NOT NULL,
+   PURCHASEDATE TIMESTAMP,
+   ACCOUNT_ACCOUNTID INTEGER,
+   QUOTE_SYMBOL VARCHAR(254));
+
+ALTER TABLE HOLDINGEJB
+  ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+  (ADDRESS VARCHAR(254),
+   PASSWD VARCHAR(254),
+   USERID VARCHAR(254) NOT NULL,
+   EMAIL VARCHAR(254),
+   CREDITCARD VARCHAR(254),
+   FULLNAME VARCHAR(254));
+
+ALTER TABLE ACCOUNTPROFILEEJB
+  ADD CONSTRAINT PK_ACCOUNTPROFILE2 PRIMARY KEY (USERID);
+
+CREATE TABLE QUOTEEJB
+  (LOW DECIMAL(14, 2),
+   OPEN1 DECIMAL(14, 2),
+   VOLUME DOUBLE NOT NULL,
+   PRICE DECIMAL(14, 2),
+   HIGH DECIMAL(14, 2),
+   COMPANYNAME VARCHAR(254),
+   SYMBOL VARCHAR(254) NOT NULL,
+   CHANGE1 DOUBLE NOT NULL);
+
+ALTER TABLE QUOTEEJB
+  ADD CONSTRAINT PK_QUOTEEJB PRIMARY KEY (SYMBOL);
+
+CREATE TABLE KEYGENEJB
+  (KEYVAL INTEGER NOT NULL,
+   KEYNAME VARCHAR(254) NOT NULL);
+
+ALTER TABLE KEYGENEJB
+  ADD CONSTRAINT PK_KEYGENEJB PRIMARY KEY (KEYNAME);
+
+CREATE TABLE ACCOUNTEJB
+  (CREATIONDATE TIMESTAMP,
+   OPENBALANCE DECIMAL(14, 2),
+   LOGOUTCOUNT INTEGER NOT NULL,
+   BALANCE DECIMAL(14, 2),
+   ACCOUNTID INTEGER NOT NULL,
+   LASTLOGIN TIMESTAMP,
+   LOGINCOUNT INTEGER NOT NULL,
+   PROFILE_USERID VARCHAR(254));
+
+ALTER TABLE ACCOUNTEJB
+  ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+  (ORDERFEE DECIMAL(14, 2),
+   COMPLETIONDATE TIMESTAMP,
+   ORDERTYPE VARCHAR(254),
+   ORDERSTATUS VARCHAR(254),
+   PRICE DECIMAL(14, 2),
+   QUANTITY DOUBLE NOT NULL,
+   OPENDATE TIMESTAMP,
+   ORDERID INTEGER NOT NULL,
+   ACCOUNT_ACCOUNTID INTEGER,
+   QUOTE_SYMBOL VARCHAR(254),
+   HOLDING_HOLDINGID INTEGER);
+
+ALTER TABLE ORDEREJB
+  ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+ALTER TABLE HOLDINGEJB VOLATILE;
+ALTER TABLE ACCOUNTPROFILEEJB VOLATILE;
+ALTER TABLE QUOTEEJB VOLATILE;
+ALTER TABLE KEYGENEJB VOLATILE;
+ALTER TABLE ACCOUNTEJB VOLATILE;
+ALTER TABLE ORDEREJB VOLATILE;
+
+CREATE INDEX ACCOUNT_USERID ON ACCOUNTEJB(PROFILE_USERID);
+CREATE INDEX HOLDING_ACCOUNTID ON HOLDINGEJB(ACCOUNT_ACCOUNTID);
+CREATE INDEX ORDER_ACCOUNTID ON ORDEREJB(ACCOUNT_ACCOUNTID);
+CREATE INDEX ORDER_HOLDINGID ON ORDEREJB(HOLDING_HOLDINGID);
+CREATE INDEX CLOSED_ORDERS ON ORDEREJB(ACCOUNT_ACCOUNTID,ORDERSTATUS);