You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ho...@apache.org on 2007/01/18 20:55:55 UTC

svn commit: r497551 [1/5] - in /geronimo/daytrader/branches/1.2: ./ modules/dojo-ui-ear/ modules/dojo-ui-ear/src/ modules/dojo-ui-ear/src/main/ modules/dojo-ui-ear/src/main/resources/ modules/dojo-ui-ear/src/main/resources/META-INF/ modules/dojo-ui-ear...

Author: hogstrom
Date: Thu Jan 18 11:55:51 2007
New Revision: 497551

URL: http://svn.apache.org/viewvc?view=rev&rev=497551
Log:
DAYTRADER-17 Applied patch for AJAX enabled functions and user interface

Added:
    geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/src/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/src/main/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/src/main/resources/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/src/main/resources/META-INF/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/src/test/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/java/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/geronimo-web.xml.org
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/DayTraderHead_blue.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround1.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround2.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/SOAPconfig.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/WEBSPHERE_18P_UNIX.GIF   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/account.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowdown.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowup.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/graph.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/home.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/homeBanner.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/lanim.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/line.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/logout.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/portfolio.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/quotes.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/ticker-anim.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/topline.jpg   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogo.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogoSmall.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeTopology.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/DaytraderProgressBar.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/LoginLogout.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/MarketSummary.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Messages.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Portfolio.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/QuickQuote.js   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/images/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/images/maximize-full.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/images/maximize.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/images/minimize.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/images/minimize_white.gif   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlAccountSummary.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlBase.css   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlBaseTemplate.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlBuyQuote.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlLoginLogout.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlMarketSummary.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlMessages.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlPortfolio.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlProgressBar.css   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlProgressBar.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/templates/HtmlQuickQuote.html   (with props)
    geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/test/
    geronimo/daytrader/branches/1.2/modules/json-proxy/
    geronimo/daytrader/branches/1.2/modules/json-proxy/pom.xml   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/AccountDataBean.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/AccountProfileDataBean.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/HoldingDataBean.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/MarketSummaryDataBeanWS.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/OrderDataBean.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/QuoteDataBean.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/RunStatsDataBean.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/Trade.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/TradeWSServices.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/TradeWSServicesProxy.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/ajax/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/java/org/apache/geronimo/samples/daytrader/ajax/SoapProxy.java   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/WEB-INF/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/WEB-INF/TradeServicesClient_mapping.xml   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/WEB-INF/geronimo-web.xml.org
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/WEB-INF/web.xml   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/WEB-INF/wsdl/
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/WEB-INF/wsdl/TradeServices.wsdl   (with props)
    geronimo/daytrader/branches/1.2/modules/json-proxy/src/main/webapp/index.html   (with props)
    geronimo/daytrader/branches/1.2/plans/dojo-ui-plan.xml   (with props)
Modified:
    geronimo/daytrader/branches/1.2/modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/direct/TradeDirect.java
    geronimo/daytrader/branches/1.2/modules/wsappclient/src/main/java/org/apache/geronimo/samples/daytrader/client/ws/ClientApp.java
    geronimo/daytrader/branches/1.2/pom.xml

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml Thu Jan 18 11:55:51 2007
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.geronimo.daytrader</groupId>
+        <artifactId>daytrader</artifactId>
+        <version>1.2-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    <artifactId>dojo-ui-ear</artifactId>
+    <name>DayTrader :: Dojo Interface and Proxy Ear</name>
+    <packaging>ear</packaging>
+    <description>Daytrader EAR</description>
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ear</connection>
+        <developerConnection>
+            scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/ear</developerConnection>
+        <url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/ear</url>
+    </scm>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.geronimo.daytrader</groupId>
+            <artifactId>dojo-ui-web</artifactId>
+            <version>${pom.version}</version>
+            <type>war</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.daytrader</groupId>
+            <artifactId>json-proxy</artifactId>
+            <version>${pom.version}</version>
+            <type>war</type>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-ear-plugin</artifactId>
+                <configuration>
+                    <displayName>DayTrader Dojo UI</displayName>
+                    <description>
+                        Dojo User Interface for Daytrader
+                    </description>
+                    <version>1.4</version>
+                    <modules>
+                        <webModule>
+                            <groupId>org.apache.geronimo.daytrader</groupId>
+                            <artifactId>dojo-ui-web</artifactId>
+                            <contextRoot>/dojotrader</contextRoot>
+                            <bundleFileName>dojo-ui.war</bundleFileName>
+                        </webModule>
+                        <webModule>
+                            <groupId>org.apache.geronimo.daytrader</groupId>
+                            <artifactId>json-proxy</artifactId>
+                            <contextRoot>/daytraderProxy</contextRoot>
+                            <bundleFileName>json-proxy.war</bundleFileName>
+                        </webModule>
+                    </modules>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-one-plugin</artifactId>
+                <version>1.0</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>install-maven-one-repository</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-ear/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml Thu Jan 18 11:55:51 2007
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.geronimo.daytrader</groupId>
+        <artifactId>daytrader</artifactId>
+        <version>1.2-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    <artifactId>dojo-ui-web</artifactId>
+    <name>DayTrader :: Dojo User Interface</name>
+    <packaging>war</packaging>
+    <description>Daytrader Dojo UI</description>
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/web</connection>
+        <developerConnection>
+            scm:svn:http://svn.apache.org/repos/asf/geronimo/daytrader/trunk/modules/web</developerConnection>
+        <url>http://svn.apache.org/viewcvs.cgi/geronimo/daytrader/trunk/modules/web</url>
+    </scm>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-servlet_2.4_spec</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jsp_2.0_spec</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>taglibs</groupId>
+            <artifactId>standard</artifactId>
+            <version>1.1.1</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <filters>
+                        <filter>
+                            ${basedir}/src/main/webapp/WEB-INF/classes/build.properties
+                        </filter>
+                    </filters>
+                    <archive>
+                        <manifestEntries>
+                            <Class-Path/>
+                        </manifestEntries>
+                    </archive>
+
+                    <resources>
+                        <resource
+                                implementation="org.apache.maven.model.Resource">
+                            <filtering>true</filtering>
+                            <directory>
+                                ${basedir}/src/main/webapp/WEB-INF
+                            </directory>
+                            <includes>
+                                <include>web.xml</include>
+                            </includes>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/geronimo-web.xml.org
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/geronimo-web.xml.org?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/geronimo-web.xml.org (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/geronimo-web.xml.org Thu Jan 18 11:55:51 2007
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app configId="atradeWeb/atradeWeb" xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0" xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.0" xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1" xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.0">
+  <context-root>/atradeWeb</context-root>
+  <context-priority-classloader>false</context-priority-classloader>
+</web-app>
\ No newline at end of file

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml Thu Jan 18 11:55:51 2007
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" 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>daytrader-dojo-web</display-name>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+</web-app>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/DayTraderHead_blue.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/DayTraderHead_blue.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/DayTraderHead_blue.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround1.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround1.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround1.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround2.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround2.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/IBMBackGround2.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/SOAPconfig.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/SOAPconfig.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/SOAPconfig.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/WEBSPHERE_18P_UNIX.GIF
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/WEBSPHERE_18P_UNIX.GIF?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/WEBSPHERE_18P_UNIX.GIF
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/account.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/account.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/account.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowdown.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowdown.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowdown.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowup.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowup.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/arrowup.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/graph.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/graph.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/graph.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/home.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/home.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/home.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/homeBanner.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/homeBanner.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/homeBanner.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/lanim.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/lanim.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/lanim.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/line.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/line.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/line.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/logout.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/logout.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/logout.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/portfolio.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/portfolio.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/portfolio.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/quotes.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/quotes.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/quotes.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/ticker-anim.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/ticker-anim.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/ticker-anim.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/topline.jpg
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/topline.jpg?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/topline.jpg
------------------------------------------------------------------------------
    svn:mime-type = image/jpeg

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogo.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogo.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogo.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogoSmall.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogoSmall.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeLogoSmall.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeTopology.gif
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeTopology.gif?view=auto&rev=497551
==============================================================================
Binary file - no diff available.

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/images/tradeTopology.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html Thu Jan 18 11:55:51 2007
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>DojoTrader - DayTrader</title>
+
+<script type="text/javascript">
+	var djConfig = {isDebug: true};
+	//djConfig.debugAtAllCosts = true;
+</script>
+<script type="text/javascript" src="/dojo/dojo.js"></script>
+<script language="JavaScript" type="text/javascript">
+	dojo.hostenv.writeIncludes();
+	
+	dojo.addOnLoad(function(){
+		fillInBrowserInfo();
+	});
+	
+	function fillInBrowserInfo() {
+		div = dojo.byId("userAgent");
+		txtNode = document.createTextNode(dojo.render.html.UA);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("appVersion");
+		txtNode = document.createTextNode(dojo.render.html.AV);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("mac");
+		txtNode = document.createTextNode(dojo.render.os.mac);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("win");
+		txtNode = document.createTextNode(dojo.render.os.win);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("linux");
+		txtNode = document.createTextNode(dojo.render.os.linux);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("opera");
+		txtNode = document.createTextNode(dojo.render.html.opera);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("khtml");
+		txtNode = document.createTextNode(dojo.render.html.khtml);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("safari");
+		txtNode = document.createTextNode(dojo.render.html.safari);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("moz");
+		txtNode = document.createTextNode(dojo.render.html.moz);
+		div.appendChild(txtNode);
+
+		div = dojo.byId("mozilla");
+		txtNode = document.createTextNode(dojo.render.html.mozilla);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("ie");
+		txtNode = document.createTextNode(dojo.render.html.ie);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("ie50");
+		txtNode = document.createTextNode(dojo.render.html.ie50);
+		div.appendChild(txtNode);
+
+		div = dojo.byId("ie55");
+		txtNode = document.createTextNode(dojo.render.html.ie55);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("ie60");
+		txtNode = document.createTextNode(dojo.render.html.ie60);
+		div.appendChild(txtNode);
+		
+		div = dojo.byId("ie70");
+		txtNode = document.createTextNode(dojo.render.html.ie70);
+		div.appendChild(txtNode);
+		
+	}
+</script>
+</head>
+<body>
+<h2>Base</h2>
+<div id="userAgent">UserAgent: </div>
+<div id="appVersion">AppVersion: </div>
+<hr>
+
+<h2>OS</h2>
+<div id="mac">Macintosh: </div>
+<div id="win">Windows: </div>
+<div id="linux">X11: </div>
+<hr>
+
+<h2>Browser</h2>
+<div id="opera">Opera: </div>
+<div id="khtml">Konqueror/Safari: </div>
+<div id="safari">Safari: </div>
+<div id="moz">Moz: </div>
+<div id="mozilla">Mozilla: </div>
+<div id="ie">IE: </div>
+<div id="ie50">IE50: </div>
+<div id="ie55">IE55: </div>
+<div id="ie60">IE60: </div>
+<div id="ie70">IE70: </div>
+
+</body>
+</html>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/browserTest.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html Thu Jan 18 11:55:51 2007
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>Test Widget</title>
+
+<link rel="stylesheet" href="css/index.css" type="text/css" />
+<script type="text/javascript">
+	var djConfig = {isDebug: true};
+	djConfig.debugAtAllCosts = true;
+</script>
+<script type="text/javascript" src="/dojo/dojo.js"></script>
+<script language="JavaScript" type="text/javascript">
+	dojo.registerModulePath(
+		"daytrader.context",
+		"widgets"
+	);
+	dojo.require("dojo.widget.Button");
+	dojo.require("dojo.widget.ValidationTextbox");
+	dojo.require("dojo.event.*");
+	dojo.require("dojotrader.widget.Context");
+	dojo.require("dojo.lfx.html");
+
+	dojo.hostenv.writeIncludes();
+	
+	var context = null;
+	var number = 5;
+	
+	dojo.addOnLoad(function(){
+		context = new dojotrader.widget.Context();
+		
+		//dojo.event.connect(context, "_addToQuotesCache", function(args){sayHello(args)});
+		//dojo.event.connect(context, "_addToQuotesCache", this, "sayHello");
+		dojo.event.connect(context, "onQuoteAddComplete", function(args){addQuoteRow("quotesEvent", args)});
+		
+		dojo.event.topic.subscribe("/quotes", function(args){handleQuotesSubscription(args)});
+		
+	});
+	
+	function testInterval() {
+		dojo.lang.setTimeout(function(){addText()}, 2000);
+	}
+	
+	function addText() {
+		testNode = dojo.byId("test");
+		textNode = document.createTextNode(number + " ");
+		number++;
+		testNode.appendChild(textNode);
+	}
+	
+	function handleQuotesSubscription(args) {
+		if (args.action == "add") {
+			addQuoteRow("quotesPubSub", args.quote);
+		} else if (args.action == "update") {
+			updateQuoteRow("quotesPubSub", args.quote);
+		}
+	};
+	
+	function setValue(){
+		/*context.setUser("uid:45");
+	
+		var node = dojo.byId("user");
+		var textNode = document.createTextNode(context.getUser());
+		node.appendChild(textNode);
+		
+		node = dojo.byId("count");
+		textNode = document.createTextNode(context.getCacheCount());
+		node.appendChild(textNode);
+		
+		quote = {symbol: "s:12", price: 32.45};
+		context._addToQuotesCache(quote);*/
+		
+		quote = context.getQuoteFromCache("s:12");
+		
+		var node = dojo.byId("user");
+		if (quote != null) {
+			var textNode = document.createTextNode(quote.symbol);
+			node.appendChild(textNode);
+		}
+	}
+	
+	function getSymbol() {
+		input = dojo.widget.byId("symbol");
+		//alert(input.getValue());
+		quote = context.getQuoteFromCache(input.getValue());
+		
+		//alert(quote);
+		//if (quote != null)
+		//	addQuoteRow("quotesEvent", quote);
+	}
+	
+	function updateCache() {
+		context._updateQuotesCache();
+	}
+	
+	function sayHello(args) {
+		alert("Hello: " + args);
+	}
+	
+	function startUpdate() {
+		context.startUpdateTimer(10000);
+	}
+	
+	function stopUpdate() {
+		context.stopUpdateTimer();
+	}
+	
+	function addQuoteRow(id, quote) {
+		
+		//alert("addQuoteRow: " + id);
+		table = dojo.byId(id);
+		row = table.insertRow(table.rows.length);
+		row.id = quote.symbol;
+		
+		node = row.insertCell(0);
+		text = document.createTextNode(quote.symbol);
+		node.appendChild(text);
+		
+		node = row.insertCell(1);
+		text = document.createTextNode(quote.price);
+		node.appendChild(text);
+	}
+	
+	function updateQuoteRow(id, quote) {
+		table = dojo.byId(id);
+		row = null;
+		
+		for (idx=1; idx < table.rows.length; idx++) {
+			if (table.rows[idx].id == quote.symbol) {
+				row = table.rows[idx];
+			
+				node = row.cells[1];
+				text = document.createTextNode(quote.price);
+				//node.style.color = "red";
+				node.replaceChild(text, node.childNodes[0]);
+				//dojo.lang.setTimeout(, 2000);
+				//setTimeout("changeColor(node)", 2000);
+				dojo.lfx.html.highlight(node,"red",2000,5).play();
+			}
+		}
+		
+		/*if (row != null) {
+			//alert("update symbol: " + quote.symbol);
+			
+			node = row.cells[1];
+			text = document.createTextNode(quote.price);
+			node.style.color = "red";
+			node.replaceChild(text, node.childNodes[0]);
+			dojo.lang.setTimeout(function(){node.style.color = "";}, 2000);
+		}*/
+	}
+	
+	function changeColor(node) {
+		node.style.color = "";
+	}
+	
+</script>
+</head>
+<body>
+
+
+<table>
+	<tr>
+		<td colspan="2"><input id="symbol" type="text" name="name"
+							dojoType="dojo:ValidationTextBox"
+							required="true"/></td>
+	</tr>
+	<tr>
+		<td><button id="currentValue" dojoType="dojo:Button" onclick="getSymbol()">Get Symbol</button></td>
+		<td><button id="nextValue" dojoType="dojo:Button" onclick="updateCache()">UpdateCache</button></td>
+	</tr>
+	<tr>
+		<td><button id="startClock" dojoType="dojo:Button" onclick="startUpdate()">Start Timer</button></td>
+		<td><button id="stopClock" dojoType="dojo:Button" onclick="stopUpdate()">Stop Timer</button></td>
+	</tr>
+	<tr>
+		<td><button id="testInterval" dojoType="dojo:Button" onclick="testInterval()">Test Interval</button></td>
+		<td></td>
+	</tr>
+</table>
+
+<h3>Quotes Event</h3>
+<table id="quotesEvent">
+	<tr>
+		<th>Symbol</th>
+		<th>Price</th>
+	</tr>
+</table>
+
+<h3>Quotes Pub/Sub</h3>
+<table id="quotesPubSub">
+	<tr>
+		<th>Symbol</th>
+		<th>Price</th>
+	</tr>
+</table>
+
+<div id="test"></div>
+
+</body>
+</html>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testContext.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html Thu Jan 18 11:55:51 2007
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>Test Widget</title>
+
+<link rel="stylesheet" href="css/index.css" type="text/css" />
+<script type="text/javascript">
+	var djConfig = {isDebug: true};
+	djConfig.debugAtAllCosts = true;
+</script>
+<script type="text/javascript" src="/dojo/dojo.js"></script>
+<script language="JavaScript" type="text/javascript">
+	dojo.require("dojo.widget.ContentPane");
+	dojo.require("dojo.widget.LayoutContainer");
+	dojo.require("dojo.widget.SplitContainer");
+	dojo.require("dojo.widget.TabContainer");
+	dojo.require("dojo.widget.Button");
+	dojo.require("dojo.widget.LinkPane");
+	dojo.require("dojo.widget.ComboBox");
+	dojo.require("dojotrader.widget.MarketSummary");
+	dojo.require("dojotrader.widget.QuickQuote");
+	dojo.require("dojotrader.widget.Portfolio");
+	dojo.require("dojotrader.widget.BuyQuote");
+	dojo.require("dojotrader.widget.Messages");
+	dojo.require("dojotrader.widget.LoginLogout");
+	dojo.require("dojotrader.widget.AccountSummary");
+
+	dojo.hostenv.writeIncludes();
+</script>
+</head>
+<body>
+
+<table>
+	<tr>
+		<td colspan="2"><div dojoType="dojotrader:LoginLogout">Loading...</div></td> 
+	</tr>
+	<tr>
+		<td><div dojoType="dojotrader:Portfolio" debug=false>Loading...</div></td><td><div dojoType="dojotrader:MarketSummary">Loading...</div></td>
+	</tr>
+	<tr>
+		<td><div dojoType="dojotrader:QuickQuote">Loading...</div></td><td><div dojoType="dojotrader:BuyQuote">Loading...</div></td>
+	</tr>
+	<tr>
+		<td><div dojoType="dojotrader:Messages">Loading...</div></td><td><div dojoType="dojotrader:AccountSummary">Loading...</div></td>
+	</tr>
+	
+</table>
+
+</body>
+</html>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/sandbox/testWidget.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html Thu Jan 18 11:55:51 2007
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>DojoTrader - DayTrader</title>
+
+<script type="text/javascript">
+	//var djConfig = {isDebug: true};
+	//djConfig.debugAtAllCosts = true;
+</script>
+<script type="text/javascript" src="/dojo/dojo.js"></script>
+<script language="JavaScript" type="text/javascript">
+	dojo.require("dojo.widget.ContentPane");
+	dojo.require("dojo.widget.LayoutContainer");
+	dojo.require("dojo.widget.SplitContainer");
+	dojo.require("dojo.widget.TabContainer");
+	dojo.require("dojo.widget.Button");
+	dojo.require("dojo.widget.LinkPane");
+	dojo.require("dojotrader.widget.LoginLogout");
+	dojo.require("dojotrader.widget.Portfolio");
+	dojo.require("dojotrader.widget.BuyQuote");
+	dojo.require("dojotrader.widget.Messages");
+	dojo.require("dojotrader.widget.LoginLogout");
+	dojo.require("dojotrader.widget.AccountSummary");
+	dojo.require("dojotrader.widget.MarketSummary");
+	dojo.require("dojotrader.widget.QuickQuote");
+
+	//dojo.hostenv.writeIncludes();
+	
+	dojo.addOnLoad(function(){
+		dojo.event.topic.subscribe("/daytrader", window, "handleExternalEvents");
+		var welcome = dojo.widget.byId("welcome_html");
+		var trader = dojo.widget.byId("trader_html");
+		var messages = dojo.widget.byId("messages");
+		
+		welcome.show();
+		trader.hide();
+		messages.hide();
+	});
+	
+	function handleExternalEvents(args) {
+		var welcome = dojo.widget.byId("welcome_html");
+		var trader = dojo.widget.byId("trader_html");
+		var messages = dojo.widget.byId("messages");
+		var quickQuote = dojo.widget.byId("quickQuote");
+		var main = dojo.byId("main");
+		
+		if (args.event == "handleLogin") {
+			welcome.hide();
+			quickQuote.hide();
+			trader.show();
+			messages.show();
+		} else if (args.event == "handleLogout") {
+			welcome.show();
+			quickQuote.show();
+			trader.hide();
+			messages.hide();
+		} else if (args.event == "register") {
+			main.style.zIndex = -1;
+			dojo.html.addClass(main, "opaque");
+		} else if (args.event == "cancelRegister") {
+			main.style.zIndex = 0;
+			dojo.html.removeClass(main, "opaque");
+		} else if (args.event == "msgWelcome") {
+			var welcome = dojo.byId("msg-welcome");
+			var text = document.createTextNode(args.message);
+			if (welcome.hasChildNodes) {
+				welcome.replaceChild(text, welcome.childNodes[0]);
+			} else {
+				welcome.appendChild(text);
+			}
+		}
+	}
+</script>
+<style>
+html, body {	
+	width: 100%;	/* make the body expand to fill the visible window */
+	height: 100%;
+	overflow: hidden;	/* erase window level scrollbars */
+	padding: 0 0 0 0;
+	margin: 0 0 0 0;
+	font-family: verdana,arial,helvetica,sans-serif;
+	font-size: 11px;
+}
+
+.opaque {
+	opacity: .5;
+	filter: alpha(opacity=50);
+}
+</style>
+</head>
+
+<body>
+
+<div dojoType="LayoutContainer" layoutChildPriority='top-bottom' style="width: 100%; height: 100%;">
+
+<div dojoType="ContentPane" id="header" layoutAlign="top">
+	<div>
+		<img src="images/DayTraderHead_blue.gif">
+	</div>
+	<div id="header-status" style="background-color: #274383; color: white; font-weight: bold; height: 34px">
+		<table width="100%">
+			<tr style="font-weight: bold;">
+				<td width="33%" style="color: white;"><span id="msg-welcome">This is the top banner...</span></td>
+				<td width="33%"></td>
+				<td align="right" width="34%">
+					<div id="loginWidget" dojoType="dojotrader:LoginLogout">Loading...</div>
+				</td>
+		</table>
+	</div>
+</div>
+
+<div dojoType="ContentPane"  id="main" layoutAlign="client">
+	<div dojoType="SplitContainer" orientation="horizontal" sizerWidth="5" activeSizing="0" style="height: 100%">
+		
+		<div dojoType="ContentPane" sizeMin="800">
+			<a id="welcome_html" dojoType="LinkPane" href="welcome.html">Welcome</a>
+			
+			<div id="trader_html" dojoType="TabContainer" doLayout="true" selectedTab="tab1" style="display: none; background: #274383; width: 100%; height: 100%; font-size: 1.2em;">
+				<div id="tab1" label="DayTrading" dojoType="ContentPane" style="width: 100%; height: 100%">
+					<table width="100%">
+						<tr>
+							<td valign="top">
+								<div dojoType="dojotrader:AccountSummary">Loading...</div>
+								<div dojoType="dojotrader:BuyQuote">Loading...</div>
+							</td>
+							<td valign="top">
+								<div dojoType="dojotrader:Portfolio">Loading...</div>
+							</td>
+						</tr>
+					</table>
+				</div>
+				
+				<a id="tab2" dojoType="LinkPane" href="tab3.html">Configuration Options</a>	
+			</div>
+		</div>
+		
+		<div dojoType="ContentPane" id="left-bar" sizeMin="200" style="background-color: #eeeeee;">
+			<div dojoType="MarketSummary">Loading</div>
+			<div id="quickQuote" dojoType="dojotrader:QuickQuote">Loading...</div>
+			<div id="messages" dojoType="dojotrader:Messages">Loading...</div>	
+		</div>
+	</div>
+</div>
+
+
+<div dojoType="ContentPane" id="footer" layoutAlign="bottom">
+	<div id="footer-status" style="background-color: #274383; color: white; font-weight: bold; height: 30px">
+		<table width="100%">
+			<tr style="font-weight: bold;">
+				<td width="33%" style="color: white;"><span id="status_message">This is the bottom banner...</span></td>
+			</tr>
+		</table> 
+	</div>
+</div>
+
+</div>
+
+</body>
+</html>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html Thu Jan 18 11:55:51 2007
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>DojoTrader - DayTrader</title>
+
+<script type="text/javascript">
+	var djConfig = {isDebug: true};
+	djConfig.debugAtAllCosts = true;
+</script>
+<script type="text/javascript" src="/dojo/dojo.js"></script>
+<script language="JavaScript" type="text/javascript">
+	dojo.require("dojo.widget.ContentPane");
+	dojo.require("dojo.widget.LayoutContainer");
+	dojo.require("dojo.widget.SplitContainer");
+	dojo.require("dojo.widget.TabContainer");
+	dojo.require("dojo.widget.Button");
+	dojo.require("dojo.widget.LinkPane");
+	dojo.require("dojotrader.widget.LoginLogout");
+	dojo.require("dojotrader.widget.Portfolio");
+	dojo.require("dojotrader.widget.BuyQuote");
+	dojo.require("dojotrader.widget.Messages");
+	dojo.require("dojotrader.widget.LoginLogout");
+	dojo.require("dojotrader.widget.AccountSummary");
+	dojo.require("dojotrader.widget.MarketSummary");
+	dojo.require("dojotrader.widget.QuickQuote");
+
+	dojo.hostenv.writeIncludes();
+	
+	dojo.addOnLoad(function(){
+		dojo.event.topic.subscribe("/daytrader", window, "handleExternalEvents");
+		var welcome = dojo.widget.byId("welcome_html");
+		var trader = dojo.widget.byId("trader_html");
+		var messages = dojo.widget.byId("messages");
+		
+		welcome.show();
+		trader.hide();
+		messages.hide();
+	});
+	
+	function handleExternalEvents(args) {
+		var welcome = dojo.widget.byId("welcome_html");
+		var trader = dojo.widget.byId("trader_html");
+		var messages = dojo.widget.byId("messages");
+		var quickQuote = dojo.widget.byId("quickQuote");
+		var main = dojo.byId("main");
+		
+		if (args.event == "handleLogin") {
+			welcome.hide();
+			quickQuote.hide();
+			trader.show();
+			messages.show();
+		} else if (args.event == "handleLogout") {
+			welcome.show();
+			quickQuote.show();
+			trader.hide();
+			messages.hide();
+		} else if (args.event == "register") {
+			main.style.zIndex = -1;
+			dojo.html.addClass(main, "opaque");
+		} else if (args.event == "cancelRegister") {
+			main.style.zIndex = 0;
+			dojo.html.removeClass(main, "opaque");
+		} else if (args.event == "msgWelcome") {
+			var welcome = dojo.byId("msg-welcome");
+			var text = document.createTextNode(args.message);
+			if (welcome.hasChildNodes) {
+				welcome.replaceChild(text, welcome.childNodes[0]);
+			} else {
+				welcome.appendChild(text);
+			}
+		}
+	}
+</script>
+<style>
+html, body {	
+	width: 100%;	/* make the body expand to fill the visible window */
+	height: 100%;
+	overflow: hidden;	/* erase window level scrollbars */
+	padding: 0 0 0 0;
+	margin: 0 0 0 0;
+	font-family: verdana,arial,helvetica,sans-serif;
+	font-size: 11px;
+}
+
+.opaque {
+	opacity: .5;
+	filter: alpha(opacity=50);
+}
+</style>
+</head>
+
+<body>
+
+<div dojoType="LayoutContainer" layoutChildPriority='top-bottom' style="width: 100%; height: 100%;">
+
+<div dojoType="ContentPane" id="header" layoutAlign="top">
+	<div>
+		<img src="images/DayTraderHead_blue.gif">
+	</div>
+	<div id="header-status" style="background-color: #274383; color: white; font-weight: bold; height: 34px">
+		<table width="100%">
+			<tr style="font-weight: bold;">
+				<td width="33%" style="color: white;"><span id="msg-welcome">This is the top banner...</span></td>
+				<td width="33%"></td>
+				<td align="right" width="34%">
+					<div id="loginWidget" dojoType="dojotrader:LoginLogout">Loading...</div>
+				</td>
+		</table>
+	</div>
+</div>
+
+<div dojoType="ContentPane"  id="main" layoutAlign="client">
+	<div dojoType="SplitContainer" orientation="horizontal" sizerWidth="5" activeSizing="0" style="height: 100%">
+		
+		<div dojoType="ContentPane" sizeMin="800">
+			<a id="welcome_html" dojoType="LinkPane" href="welcome.html">Welcome</a>
+			
+			<div id="trader_html" dojoType="TabContainer" doLayout="true" selectedTab="tab1" style="display: none; background: #274383; width: 100%; height: 100%; font-size: 1.2em;">
+				<div id="tab1" label="DayTrading" dojoType="ContentPane" style="width: 100%; height: 100%">
+					<table width="100%">
+						<tr>
+							<td valign="top">
+								<div dojoType="dojotrader:AccountSummary">Loading...</div>
+								<div dojoType="dojotrader:BuyQuote">Loading...</div>
+							</td>
+							<td valign="top">
+								<div dojoType="dojotrader:Portfolio">Loading...</div>
+							</td>
+						</tr>
+					</table>
+				</div>
+				
+				<a id="tab2" dojoType="LinkPane" href="tab3.html">Configuration Options</a>	
+			</div>
+		</div>
+		
+		<div dojoType="ContentPane" id="left-bar" sizeMin="200" style="background-color: #eeeeee;">
+			<div dojoType="MarketSummary">Loading</div>
+			<div id="quickQuote" dojoType="dojotrader:QuickQuote">Loading...</div>
+			<div id="messages" dojoType="dojotrader:Messages">Loading...</div>	
+		</div>
+	</div>
+</div>
+
+
+<div dojoType="ContentPane" id="footer" layoutAlign="bottom">
+	<div id="footer-status" style="background-color: #274383; color: white; font-weight: bold; height: 30px">
+		<table width="100%">
+			<tr style="font-weight: bold;">
+				<td width="33%" style="color: white;"><span id="status_message">This is the bottom banner...</span></td>
+			</tr>
+		</table> 
+	</div>
+</div>
+
+</div>
+
+</body>
+</html>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/trader_debug.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html Thu Jan 18 11:55:51 2007
@@ -0,0 +1,14 @@
+
+<div>
+	<h2>DOJO Trader, the DOJO/AJAX user interface to Daytrader 1.1</h2>
+
+	<p>
+	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).
+	</p>
+</div>

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/welcome.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js Thu Jan 18 11:55:51 2007
@@ -0,0 +1,79 @@
+dojo.provide("dojotrader.widget.AccountSummary");
+
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojotrader.widget.BaseDaytraderPane");
+
+dojo.widget.defineWidget(
+	"dojotrader.widget.AccountSummary", 
+	[dojo.widget.HtmlWidget, dojotrader.widget.BaseDaytraderPane], 
+	{
+		templatePath: dojo.uri.dojoUri("/dojotrader/widget/templates/HtmlAccountSummary.html"),
+		widgetType: "MarketSummary",
+
+		label: "Account Summary",
+		
+		_holdingsValue: 0,
+		_accountSummary: null,
+		
+		postCreate: function() {
+			dojotrader.widget.Messages.superclass.postCreate.call(this);
+			
+			dojo.event.topic.subscribe("/accountSummary", this, "handleExternalEvents");
+		},
+		
+		fillInTemplate: function(args, frag) {
+			if (this.debug) {
+				var ref = dojo.widget.createWidget("Button", {id: "somebutton", caption: "Get Account Summary"}, this.buttonNode);
+				dojo.event.connect(ref, "onClick", this, "getAccountSummary");
+				this.asDebug.style.display = "";
+			}
+		},
+		
+		handleExternalEvents: function (args) {
+			if (args.event == "updateHoldingsValue") {
+				this.updateHoldingsValue(args.value);
+				this.getAccountSummary();
+			} else if (args.event == "getAccountSummary") {
+				this.getAccountSummary();
+			}
+		},
+		
+		updateHoldingsValue: function (value) {
+			this._holdingsValue = +(value);
+		},
+	
+		getAccountSummary: function () {
+			var uid = dojo.storage.get("uid");
+			if (uid == null || uid == "") {
+				alert("Unable to find uid in storage, using uid:0");
+				uid = "uid:0";
+			}		
+	
+			dojo.io.bind({
+    			method:  "GET",
+   			 	//url: "/proxy/SoapProxy/getAccountData?p1=" + uid + "&format=json",
+      			url: "/daytraderProxy/doProxy/getAccountData?p1=" + uid,
+      			mimetype: "text/json",
+    			load: dojo.lang.hitch(this, this.handleAccountSummaryData),
+    			error: dojo.lang.hitch(this, this.handleError),
+    			useCache: false,
+                preventCache: true
+  			});
+		},
+
+		handleAccountSummaryData: function (type, data, evt) {
+			this._accountSummary = data.getAccountDataReturn;
+			
+			var balance = +this._accountSummary.balance;
+			var openBalance = +this._accountSummary.openBalance;
+			var total = balance + this._holdingsValue;
+			
+			this.replaceTextNode(this.balance, this.addCommas("$" + balance.toFixed(2)));
+			this.replaceTextNode(this.openBalance, this.addCommas("$" + openBalance.toFixed(2)));
+			this.replaceTextNode(this.holdingsValue, this.addCommas("$" + this._holdingsValue.toFixed(2)));
+			this.replaceTextNode(this.total, this.addCommas("$" + total.toFixed(2)));
+			this.replaceTextNode(this.change, ((total - openBalance)/openBalance * 100).toFixed(2) + "%");
+		}
+	}
+);

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/AccountSummary.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js Thu Jan 18 11:55:51 2007
@@ -0,0 +1,190 @@
+dojo.provide("dojotrader.widget.BaseDaytraderPane");
+
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.HtmlWidget");
+
+dojo.widget.defineWidget(
+	"dojotrader.widget.BaseDaytraderPane",
+	dojo.widget.HtmlWidget, {
+		templatePath: dojo.uri.dojoUri("/dojotrader/widget/templates/HtmlBaseTemplate.html"),
+		templateCssPath: dojo.uri.dojoUri("/dojotrader/widget/templates/HtmlBase.css"),
+		widgetType: "BaseDaytraderPane",
+
+		label: "Base DayTrader Pane",
+		open: true,
+		debug: false,
+		
+		postCreate: function() {
+			//alert("BaseDaytraderPane>>postCreate - " + this.templateCssPath);
+		
+			if (!this.open) {
+				with(this.containerNode.style) {
+					visibility = "hidden";
+					position = "absolute";
+				}
+				//dojo.lfx.wipeOut(this.containerNode,0).play();
+			}
+		},
+		
+		fillInTemplate: function(args, frag) {
+			//alert("BaseDaytraderPane>>fillInTemplate - " + this.templateCssPath);
+		},
+		
+		handleExternalEvents: function (args) {
+			if (args.event == "toggleHistory") {
+				if (this.msHistory.style.display == "none")
+					this.msHistory.style.display = "";
+				else
+					this.msHistory.style.display = "none";
+			}
+		},
+		
+		onLabelClick: function() {
+			if (this.open) {
+				var callback = function(node, anim) {
+					dojo.html.setStyle(node, "position", "absolute");
+				};
+				dojo.lfx.fadeOut(this.containerNode, 500).play();
+				dojo.lfx.wipeOut(this.containerNode, 600, 5, callback).play();
+				dojo.html.setClass(this.paneControl, "daytrader-maximize-image");
+				this.open=false;
+			} else {
+				dojo.html.setStyle(this.containerNode, "position", "relative");
+				dojo.lfx.wipeIn(this.containerNode, 500).play();
+				dojo.lfx.fadeIn(this.containerNode, 600).play();
+				dojo.html.setClass(this.paneControl, "daytrader-minimize-image");
+				this.open=true;
+			}
+		},
+	
+		createTimeStampStr: function() {
+			var dataStr = "";
+			var currentTime = new Date()
+			var month = currentTime.getMonth() + 1
+			var day = currentTime.getDate() 
+			var year = currentTime.getFullYear()
+		
+			dateStr = month + "/" + day + "/" + year;
+
+			var hours = currentTime.getHours()
+			var minutes = currentTime.getMinutes()
+			if (minutes < 10)
+				minutes = "0" + minutes;
+			var seconds = currentTime.getSeconds();
+			if (seconds < 10)
+				seconds = "0" + seconds;
+	
+			dateStr += " " + hours + ":" + minutes + ":" + seconds + " "; 
+	
+			if(hours > 11){
+				dateStr += "PM";
+			} else {
+				dateStr += "AM";
+			}
+	
+			return dateStr;
+		},
+		
+		createShortTimeStampStr: function() {
+			var dataStr = "";
+			var currentTime = new Date();
+
+			var hours = currentTime.getHours();
+			var minutes = currentTime.getMinutes();
+			if (minutes < 10)
+				minutes = "0" + minutes;
+			var seconds = currentTime.getSeconds();
+			if (seconds < 10)
+				seconds = "0" + seconds;
+	
+			dateStr = hours + ":" + minutes + ":" + seconds + " "; 
+	
+			if(hours > 11){
+				dateStr += "PM";
+			} else {
+				dateStr += "AM";
+			}
+	
+			return dateStr;
+		},
+
+	
+		handleError: function (type, error) {
+			dlg = dojo.widget.manager.getWidgetById("errorMessage");
+			dlg.show();
+			alert(error);
+		},
+		
+		appendTextNode: function (parent, text) {
+			var textNode = document.createTextNode(text);
+			parent.appendChild(textNode);
+		},
+		
+		replaceTextNode: function (parent, text) {
+			var textNode = document.createTextNode(text);
+			
+			if (parent.childNodes[0] != null)
+				parent.replaceChild(textNode, parent.childNodes[0]);
+			else
+				parent.appendChild(textNode);
+		},
+		
+		addValueWithArrow: function (parent, value, text) {
+	  		table = document.createElement("TABLE");
+	  		dojo.html.setClass(table, "dt-table-no-padding");
+	  		parent.appendChild(table);
+	  		row = table.insertRow(0);
+	  		textCell = row.insertCell(0);
+	  		imageCell = row.insertCell(1);
+	  		
+	  		// append the text value
+	  		txtNode = document.createTextNode(text);
+  			textCell.appendChild(txtNode);
+  			// create the div-based image 
+  			imageNode = document.createElement("DIV");
+  			imageCell.appendChild(imageNode);
+
+  			// set the style characteristics
+  			if (value < 0) {
+  				dojo.html.setClass(imageNode, "arrowdown");
+  				textCell.style.color = "red";
+  			} else {
+  				dojo.html.setClass(imageNode, "arrowup");
+  				textCell.style.color = "green";
+  			}
+		},
+		
+		addCommas: function (nStr) {
+			nStr += '';
+			x = nStr.split('.');
+			x1 = x[0];
+			x2 = x.length > 1 ? '.' + x[1] : '';
+			var rgx = /(\d+)(\d{3})/;
+			while (rgx.test(x1)) {
+				x1 = x1.replace(rgx, '$1' + ',' + '$2');
+			}
+			return x1 + x2;
+		},
+
+		removeCommas: function (nStr) {
+			nStr=nStr.replace(/,/g,"");
+			nStr=nStr.replace(/\s/g,"");
+			return nStr;
+		},
+		
+		redoTableColorScheme: function (table, headerOffset, footerOffset) {
+			count = table.rows.length;
+			if (footerOffset > 0)
+				count = count - footerOffset;
+			
+			for (idx=headerOffset; idx < count; idx++) {
+				var row = table.rows[idx];
+				if (idx % 2 == 0)
+					row.className = "row-even";
+				else
+					row.className = "row-odd";
+			}
+		}
+		
+	}
+);

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BaseDaytraderPane.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js Thu Jan 18 11:55:51 2007
@@ -0,0 +1,298 @@
+dojo.provide("dojotrader.widget.BuyQuote");
+
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.ValidationTextbox");
+dojo.require("dojo.collections.*");
+dojo.require("dojo.storage.*");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojotrader.widget.DaytraderProgressBar");
+dojo.require("dojotrader.widget.BaseDaytraderPane");
+
+
+dojo.widget.defineWidget(
+	"dojotrader.widget.BuyQuote", 
+	[dojo.widget.HtmlWidget, dojotrader.widget.BaseDaytraderPane], 
+	{
+		templatePath: dojo.uri.dojoUri("/dojotrader/widget/templates/HtmlBuyQuote.html"),
+		widgetType: "BuyQuote",
+		
+		label: "Buy Stock",
+		historySize: 6,
+		
+		_symbolTextBox: null,
+		_numBuys: 0,
+		
+		_refreshButton: null,
+		_changeRefreshComboBox: null,
+		_numQuotes: 0,
+		_timer: null,
+		_progressBar: null,
+		
+		_quoteCache: null,
+			
+		postCreate: function() {
+			dojotrader.widget.BuyQuote.superclass.postCreate.call(this);
+			
+			dojo.event.topic.subscribe("/buyQuote", this, "handleExternalEvents");
+			
+			this._quoteCache = new dojo.collections.Dictionary();
+		},
+		
+		handleExternalEvents: function(args) {
+			if (args.event == "clearQuotes")
+				this.clearQuotes();
+		},
+		
+		fillInTemplate: function(args, frag) {
+			this._refreshButton = dojo.widget.createWidget("Button", {caption: "Refresh Now"}, this.buttonNode);
+			dojo.event.connect(this._refreshButton, "onClick", this, "refreshQuotes");
+			
+			this._progressBar = dojo.widget.createWidget("dojotrader:DaytraderProgressBar", {cycle: true}, this.progressBar);
+			this._progressBar.onComplete = dojo.lang.hitch(this, this.refreshQuotes);
+		
+			var ref = dojo.widget.createWidget("Button", {caption: "Get Quote"}, this.quoteButtonNode);
+			dojo.event.connect(ref, "onClick", this, "getQuoteFromInput");
+			
+			ref = dojo.widget.createWidget("Button", {caption: "Buy Quote"}, this.buyButtonNode);
+			dojo.event.connect(ref, "onClick", this, "buySelectedQuotes");
+			
+			this._symbolTextBox = dojo.widget.createWidget("ValidationTextBox", {type: "text", validation: "false", size: "5"}, this.textBoxNode);
+		},
+		
+		refreshQuotes: function () {
+			this._numQuotes = 0;
+			
+			
+			keys = this._quoteCache.getKeyList();
+			//alert("Refresh Quotes: " + keys);
+			for (idx = 0; idx < keys.length; idx++) {
+				//alert(keys[idx]);
+				this.updateQuote(keys[idx]);
+			}
+			
+			this.replaceTextNode(this.msLastUpdated, this.createShortTimeStampStr());
+		},
+		
+		
+		
+		changeTimerSettings: function() {
+			//var value = this._changeRefreshComboBox.getValue();
+			var value = this.refreshSelectBox.value;
+			this._progressBar.stop();
+
+			if (value == "manual") {
+				this._progressBar.reset();	
+			} else {
+				this._progressBar.setPeriod(+(value) * 1000);
+				this._progressBar.start();
+			}
+		},
+
+		getQuoteFromInput: function () {
+			var symbol = this._symbolTextBox.getValue();
+	
+			// determine if the symbol is already in the list
+			var table = this.bqQuoteTable;
+			var inTable = table.innerHTML.indexOf(">" + symbol + "<");
+	
+			if (symbol != "" && inTable == -1) {		
+				dojo.io.bind({
+    				method:  "GET",
+    				//url: "/proxy/SoapProxy/getQuote?p1=" + symbol.value + "&format=json",
+       				url: "/daytraderProxy/doProxy/getQuote?p1=" + symbol,
+       				mimetype: "text/json",
+    				load: dojo.lang.hitch(this, this.handleQuote),
+    				error: dojo.lang.hitch(this, this.handleError),
+    				useCache: false,
+                	preventCache: true
+  				});
+  			}
+		},
+		
+		updateQuote: function (symbol) {
+		
+				dojo.io.bind({
+    				method:  "GET",
+    				//url: "/proxy/SoapProxy/getQuote?p1=" + symbol.value + "&format=json",
+       				url: "/daytraderProxy/doProxy/getQuote?p1=" + symbol,
+       				mimetype: "text/json",
+    				load: dojo.lang.hitch(this, this.handleUpdateQuote),
+    				error: dojo.lang.hitch(this, this.handleError),
+    				useCache: false,
+                	preventCache: true
+  				});
+
+		},
+		
+		handleUpdateQuote: function (type, data, evt) {	
+			//alert("handleQuoteUpate");			
+			newQuote = data.getQuoteReturn;
+			oldQuote = this._quoteCache.entry(newQuote.symbol).value;
+			
+			// replace quote in the quote cache
+			if (oldQuote.price != newQuote.price || oldQuote.change != newQuote.change) {
+				//alert("replaced item in cache");
+				this._quoteCache.add(newQuote.symbol, newQuote);
+				this.updateQuoteRow(newQuote);
+ 			}
+ 			
+ 			this._numQuotes++;
+ 			
+ 			if (this._quoteCache.count == this._numQuotes) {
+ 				//alert("Refresh Complete: " + this._quoteCache.count + " - " + this._numQuotes);
+ 				//this.replaceTextNode(this.msLastUpdated, this.createShortTimeStampStr());
+ 			}
+ 		},
+ 		
+ 		updateQuoteRow: function (quote) {
+ 			//alert("updateQuoteRow");
+ 			rows = this.bqQuoteTable.rows;
+		
+			for (idx=1; idx < rows.length; idx++) {
+				//alert(rows[idx].cells[1].innerHTML);
+				if (rows[idx].cells[1].innerHTML == quote.symbol) {
+					row = rows[idx];
+					
+					this.replaceTextNode(row.cells[2], this.addCommas("$" + quote.price));
+					this.replaceTextNode(row.cells[3], quote.change);
+					this.replaceTextNode(row.cells[4], quote.volume);
+					dojo.lfx.html.highlight(row,"red",2000,5).play();
+				}
+			} 		
+ 		},
+ 		
+ 		updateQuotesTable: function () {
+ 			//keys = this._quoteCache.getKeyList();
+ 			rows = this.bqQuoteTable.rows;
+
+			for (idx = 1; idx < rows.length; idx++) {
+				alert(rows[idx].cells[1].firstChild.nodeValue);
+				quote = this._quoteCache.entry(rows[idx].cells[1].firstChild.nodeValue).value;
+				alert(quote);
+				row = rows[idx];
+				//alert(rows[idx].cells[1].firstChild.nodeValue);
+				//this.updateQuote(keys[idx]);
+				
+				this.replaceTextNode(row.cells[2], this.addCommas("$" + quote.price));
+				this.replaceTextNode(row.cells[3], quote.change);
+				this.replaceTextNode(row.cells[4], quote.volume);
+			}
+ 		},
+
+		handleQuote: function (type, data, evt) {
+			// unhide the table
+			if (this.bqQuotesDisplay.style.display == "none")
+				this.bqQuotesDisplay.style.display = "";
+			
+			this.replaceTextNode(this.msLastUpdated, this.createShortTimeStampStr());
+				
+			// add quote to the quote cache
+			if (!this._quoteCache.contains(data.getQuoteReturn.symbol)) {
+				this._quoteCache.add(data.getQuoteReturn.symbol, data.getQuoteReturn);
+ 			}
+	
+			// add the information to the table
+			var row = this.bqQuoteTable.insertRow(1);
+			cell = row.insertCell(0);
+			cell.innerHTML = "<input size=\"5\" id=\"" + data.getQuoteReturn.symbol + "\" name=\"buyStk-amount\" dojoType=\"ValidationTextBox\" type=\"text\" required=\"false\" />";
+	
+			cell = row.insertCell(1);
+			this.appendTextNode(cell, data.getQuoteReturn.symbol);
+	
+			cell = row.insertCell(2);
+			this.appendTextNode(cell, this.addCommas("$" + data.getQuoteReturn.price));
+	
+			cell = row.insertCell(3);
+			this.appendTextNode(cell, data.getQuoteReturn.change);
+	
+			cell = row.insertCell(4);
+			this.appendTextNode(cell, data.getQuoteReturn.volume);
+
+			// handle the table style and history
+			if (this.bqQuoteTable.rows.length == 2) {
+				row.className = "row-even";
+			} else {
+				var prev = this.bqQuoteTable.rows[2];
+				if (prev.className == "row-even")
+					row.className = "row-odd";
+				else
+					row.className = "row-even";
+			}
+
+			if (this.bqQuoteTable.rows.length > this.historySize + 1) {
+				this.bqQuoteTable.deleteRow(this.bqQuoteTable.rows.length - 1);
+			}	
+		},
+
+		buySelectedQuotes: function () {
+			// figure out which holdings were selected
+			var textboxes = document.getElementsByName("buyStk-amount");
+			var uid = dojo.storage.get("uid");
+			if (uid == null || uid == "") {
+				alert("Unable to find uid in storage, using uid:0");
+				uid = "uid:0";
+			}
+	
+			// getCompletionDate in soap proxy causing problems because it returns null
+	
+			//for (var idx=0; idx < textboxes.length; idx++) {
+			for (var idx = textboxes.length - 1; idx > -1; idx--) {
+				if (textboxes[idx].value != "") {
+					// use numBuys variable to "batch" requests
+					this._numBuys++;
+				
+					dojo.io.bind({
+    					method:  "GET",
+    					//url: "/proxy/SoapProxy/buy?p1=" + uid + "&p2=" + textboxes[idx].id + "&p3=" + textboxes[idx].value + "&p4=0&format=json",
+      					url: "/daytraderProxy/doProxy/buy?p1=" + uid + "&p2=" + textboxes[idx].id + "&p3=" + textboxes[idx].value + "&p4=0",
+      					mimetype: "text/json",
+    					load: dojo.lang.hitch(this, this.handleBuyStocks),
+    					error: dojo.lang.hitch(this, this.handleError),
+    					useCache: false,
+                		preventCache: true
+  					});
+  					
+  					// remove row from list and refresh the color scheme of the remaining rows
+  					// only redraw the color scheme after all have finished
+  					var row = textboxes[idx].parentNode.parentNode;
+  					row.parentNode.removeChild(row);
+				}
+			}
+		},
+
+		handleBuyStocks: function (type, data, event) {
+			var order = data.buyReturn;
+			var message = "Buy order completed (OrderId: " + order.orderID + " - $" + order.price + ")";	
+
+			dojo.event.topic.publish("/messages", {event: "addMessage", message: message});
+			
+			this._numBuys--;
+			
+			if (this._numBuys == 0) {
+				//redraw the table color scheme
+				this.redoTableColorScheme(this.bqQuoteTable, 1, 0);
+				if (this.bqQuoteTable.rows.length == 1) 
+					this.bqQuotesDisplay.style.display = "none";
+				
+				// don't refresh holdings table until all buys are completed
+				dojo.event.topic.publish("/portfolio", {event: "updateHoldings"});
+			}
+		},
+
+		clearQuotes: function () {
+			// this method is used to cleanup the buy stocks pane when a user logs out
+			
+			// clear text box
+			this._symbolTextBox.setValue("");
+	
+			// remove old rows
+			for (idx=0; idx < this.bqQuoteTable.rows.length - 1;) {
+				this.bqQuoteTable.deleteRow(1);
+			}
+	
+			// hide the table
+			if (this.bqQuotesDisplay.style.display == "")
+				this.bqQuotesDisplay.style.display = "none";
+		}
+	}
+);

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/BuyQuote.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js
URL: http://svn.apache.org/viewvc/geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js?view=auto&rev=497551
==============================================================================
--- geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js (added)
+++ geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js Thu Jan 18 11:55:51 2007
@@ -0,0 +1,106 @@
+dojo.provide("dojotrader.widget.Context");
+dojo.require("dojo.collections.*");
+dojo.require("dojo.lang.timing.Timer");
+
+dojotrader.widget.Context = function(userID){
+	this._user = userID;
+	this._quotesCache = new dojo.collections.Dictionary();
+	this._quotesToUpdate = 0;
+	this._updateTimer = null;
+	
+	
+	this.startUpdateTimer = function(interval) {
+		this._updateTimer = new dojo.lang.timing.Timer(interval);
+		this._updateTimer.onTick = dojo.lang.hitch(this,this._updateQuotesCache);
+		this._updateTimer.start();
+	};
+	
+	this.stopUpdateTimer = function() {
+		this._updateTimer.stop();
+		this._updateTimer = null;
+	};
+	
+	this._addQuoteToCache = function(quote) {
+		this._quotesCache.add(quote.symbol, quote);
+		//this.onQuoteAddComplete(quote);
+	};
+	
+	this.getQuoteFromCache = function(symbol) {
+		//alert("getQuoteFromCache");
+		value = null;
+		if (this._quotesCache.contains(symbol)){
+			value = this._quotesCache.entry(symbol).value;
+		} else {
+			this._getQuoteFromServer(symbol);
+		}
+		
+		return value;
+	};
+	
+	this._getQuoteFromServer = function(symbol) {
+		//alert("_getQuoteFromServer");
+		dojo.io.bind({
+    		method:  "GET",
+    		//url: "/proxy/SoapProxy/getQuote?p1=" + symbol.value + "&format=json",
+       		url: "/daytraderProxy/doProxy/getQuote?p1=" + symbol,
+       		mimetype: "text/json",
+    		load: dojo.lang.hitch(this, this._handleQuote),
+    		error: dojo.lang.hitch(this, this._handleError),
+    		useCache: false,
+            preventCache: true
+  		});
+  	};
+  	
+  	this._getQuoteFromServerForUpdate = function(symbol) {
+		//alert("_getQuoteFromServer");
+		dojo.io.bind({
+    		method:  "GET",
+    		//url: "/proxy/SoapProxy/getQuote?p1=" + symbol.value + "&format=json",
+       		url: "/daytraderProxy/doProxy/getQuote?p1=" + symbol,
+       		mimetype: "text/json",
+    		load: dojo.lang.hitch(this, this._handleQuoteUpdate),
+    		error: dojo.lang.hitch(this, this._handleError),
+    		useCache: false,
+            preventCache: true
+  		});
+  	};
+  	
+  	this._handleQuote = function(type, data, evt) {
+  		//alert("_handleQuote");
+  		this._addQuoteToCache(data.getQuoteReturn);
+  		this.onQuoteAddComplete(data.getQuoteReturn);
+  		dojo.event.topic.publish("/quotes", {action: "add", quote: data.getQuoteReturn});
+  	};
+  	
+  	this._handleQuoteUpdate = function(type, data, evt) {
+  		//alert("_handleQuote");
+  		newQuote = data.getQuoteReturn;
+  		
+  		// check for quote equality - only update if they are different
+  		oldQuote = this._quotesCache.entry(newQuote.symbol).value;
+  		if (oldQuote.price != newQuote.price || oldQuote.change != newQuote.change) {
+  			this._addQuoteToCache(newQuote);
+  			dojo.event.topic.publish("/quotes", {action: "update", quote: newQuote});
+  		}
+  		
+  		this._quotesToUpdate++;
+ 			
+ 		if (this._quotesCache.count == this._quotesToUpdate) {
+ 			//alert("Refresh Complete: " + this._quotesCache.count + " - " + this._quotesToUpdate);
+ 			this.onQuotesUpdateComplete();
+ 		}
+  	};
+  	
+  	this._updateQuotesCache = function() {
+  		this._quotesToUpdate = 0;
+			
+		keys = this._quotesCache.getKeyList();
+		for (idx = 0; idx < keys.length; idx++) {
+			this._getQuoteFromServerForUpdate(keys[idx]);
+		}
+  	};
+  	
+  	this.onQuotesUpdateComplete = function() {};
+  	
+  	this.onQuoteAddComplete = function() {}
+};

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/daytrader/branches/1.2/modules/dojo-ui-web/src/main/webapp/widget/Context.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain