You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xi...@apache.org on 2010/06/27 05:38:59 UTC
svn commit: r958321 - in /geronimo/samples/branches/3.0-M1/samples/daytrader:
assemblies/web/daytrader-web-jpa/
assemblies/web/daytrader-web-jpa/src/main/resources/
assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/
assemblies/web/daytrader-...
Author: xiaming
Date: Sun Jun 27 03:38:58 2010
New Revision: 958321
URL: http://svn.apache.org/viewvc?rev=958321&view=rev
Log:
GERONIMO-5399 enable daytrader web jpa assemblies on G 3.0-M1
Added:
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml (with props)
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/db2/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/db2/Table.ddl
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/derby/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/derby/Table.ddl
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/informix/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/informix/Table.ddl
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/mysql/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/mysql/Table.ddl
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/oracle/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/oracle/Table.ddl
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/other/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/other/Table.ddl
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/postgre/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/postgre/Table.ddl
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/sqlserver/
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/sqlserver/Table.ddl
Modified:
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/pom.xml
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/geronimo-web.xml
geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/web.xml
geronimo/samples/branches/3.0-M1/samples/daytrader/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java
geronimo/samples/branches/3.0-M1/samples/daytrader/modules/entities/pom.xml
geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/pom.xml
geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/src/main/plan/plan.xml
geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/pom.xml
geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/src/main/plan/plan.xml
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/pom.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/pom.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/pom.xml Sun Jun 27 03:38:58 2010
@@ -35,22 +35,22 @@
<dependency>
<groupId>org.apache.geronimo.samples.daytrader.modules</groupId>
<artifactId>daytrader-util</artifactId>
- <version>${version}</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.samples.daytrader.modules</groupId>
<artifactId>daytrader-core</artifactId>
- <version>${version}</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.samples.daytrader.modules</groupId>
<artifactId>daytrader-entities</artifactId>
- <version>${version}</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.samples.daytrader.modules</groupId>
<artifactId>daytrader-web</artifactId>
- <version>${version}</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<!-- we need to include this in the image for logging to work -->
@@ -142,6 +142,14 @@
</dependencies>
<build>
+ <resources>
+ <!--Put db creation scripts into WEB-INF/classes in order to load it from DBInitializationGBean-->
+ <resource>
+ <filtering>true</filtering>
+ <directory>${basedir}/src/main/resources</directory>
+ <targetPath>${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/classes</targetPath>
+ </resource>
+ </resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml Sun Jun 27 03:38:58 2010
@@ -0,0 +1,51 @@
+<?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.
+-->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
+
+ <persistence-unit transaction-type="RESOURCE_LOCAL" name="daytrader">
+ <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+ <!--<jta-data-source>jdbc/TradeDataSource</jta-data-source>
+ <non-jta-data-source>jdbc/NoTxTradeDataSource</non-jta-data-source>-->
+
+ <class>org.apache.geronimo.samples.daytrader.beans.AccountDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.beans.AccountProfileDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.beans.HoldingDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.beans.OrderDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.beans.QuoteDataBean</class>
+ <exclude-unlisted-classes>true</exclude-unlisted-classes>
+
+ <properties>
+ <property name="openjpa.DynamicEnhancementAgent" value="false"/>
+ <property name="openjpa.BrokerImpl" value="non-finalizing" />
+ <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+ <property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>
+ <property name="openjpa.ConnectionFactoryName" value="java:comp/env/jdbc/TradeDataSource" />
+ <property name="openjpa.ConnectionFactory2Name" value="java:comp/env/jdbc/NoTxTradeDataSource" />
+
+ <!--
+ <property name="openjpa.jdbc.DBDictionary" value="derby" />
+ <property name="openjpa.jdbc.MappingDefaults" value="ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"/>
+ <property name="openjpa.jdbc.UpdateManager" value="org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager(batchLimit=0)" />
+ <property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/>
+ <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
+ <property name="openjpa.ConnectionURL" value="jdbc:derby:tradedb;create=true"/>
+ <property name="openjpa.ConnectionProperties" value="DriverClassName=org.apache.derby.jdbc.EmbeddedDriver,Url=jdbc:derby:tradedb;create=true,MaxActive=50,MaxWait=10000,Username=,Password="/>
+ -->
+ </properties>
+ </persistence-unit>
+</persistence>
Propchange: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/META-INF/persistence.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/db2/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/db2/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/db2/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/db2/Table.ddl Sun Jun 27 03:38:58 2010
@@ -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(250));
+
+ALTER TABLE HOLDINGEJB
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(250),
+ PASSWD VARCHAR(250),
+ USERID VARCHAR(250) NOT NULL,
+ EMAIL VARCHAR(250),
+ CREDITCARD VARCHAR(250),
+ FULLNAME VARCHAR(250));
+
+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(250),
+ SYMBOL VARCHAR(250) 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(250) 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(250));
+
+ALTER TABLE ACCOUNTEJB
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE TIMESTAMP,
+ ORDERTYPE VARCHAR(250),
+ ORDERSTATUS VARCHAR(250),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE NOT NULL,
+ OPENDATE TIMESTAMP,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250),
+ 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);
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/derby/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/derby/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/derby/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/derby/Table.ddl Sun Jun 27 03:38:58 2010
@@ -0,0 +1,106 @@
+-- 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;
+-- DROP TABLE OPENJPASEQ;
+
+create table OPENJPASEQ
+(ID SMALLINT NOT NULL PRIMARY KEY,
+SEQUENCE_VALUE BIGINT);
+
+CREATE TABLE HOLDINGEJB
+ (PURCHASEPRICE DECIMAL(14, 2),
+ HOLDINGID INTEGER NOT NULL,
+ QUANTITY DOUBLE NOT NULL,
+ PURCHASEDATE TIMESTAMP,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250));
+
+ALTER TABLE HOLDINGEJB
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(250),
+ PASSWD VARCHAR(250),
+ USERID VARCHAR(250) NOT NULL,
+ EMAIL VARCHAR(250),
+ CREDITCARD VARCHAR(250),
+ FULLNAME VARCHAR(250));
+
+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(250),
+ SYMBOL VARCHAR(250) 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(250) 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(250));
+
+ALTER TABLE ACCOUNTEJB
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE TIMESTAMP,
+ ORDERTYPE VARCHAR(250),
+ ORDERSTATUS VARCHAR(250),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE NOT NULL,
+ OPENDATE TIMESTAMP,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250),
+ HOLDING_HOLDINGID INTEGER);
+
+ALTER TABLE ORDEREJB
+ ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+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);
+
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/informix/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/informix/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/informix/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/informix/Table.ddl Sun Jun 27 03:38:58 2010
@@ -0,0 +1,88 @@
+-- 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 PRIMARY KEY CONSTRAINT HOLDINGID,
+ QUANTITY FLOAT NOT NULL,
+ PURCHASEDATE DATETIME YEAR TO SECOND,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(255));
+
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(255),
+ PASSWD VARCHAR(255),
+ USERID VARCHAR(255) NOT NULL PRIMARY KEY CONSTRAINT USERID,
+ EMAIL VARCHAR(255),
+ CREDITCARD VARCHAR(255),
+ FULLNAME VARCHAR(255));
+
+
+CREATE TABLE QUOTEEJB
+ (LOW DECIMAL(14, 2),
+ OPEN1 DECIMAL(14, 2),
+ VOLUME FLOAT NOT NULL,
+ PRICE DECIMAL(14, 2),
+ HIGH DECIMAL(14, 2),
+ COMPANYNAME VARCHAR(255),
+ SYMBOL VARCHAR(255) NOT NULL PRIMARY KEY CONSTRAINT SYMBOL,
+ CHANGE1 FLOAT NOT NULL);
+
+
+CREATE TABLE KEYGENEJB
+ (KEYVAL INTEGER NOT NULL,
+ KEYNAME VARCHAR(255) NOT NULL PRIMARY KEY CONSTRAINT KEYNAME);
+
+
+CREATE TABLE ACCOUNTEJB
+ (CREATIONDATE DATETIME YEAR TO SECOND,
+ OPENBALANCE DECIMAL(14, 2),
+ LOGOUTCOUNT INTEGER NOT NULL,
+ BALANCE DECIMAL(14, 2),
+ ACCOUNTID INTEGER NOT NULL PRIMARY KEY CONSTRAINT ACCOUNTID,
+ LASTLOGIN DATETIME YEAR TO SECOND,
+ LOGINCOUNT INTEGER NOT NULL,
+ PROFILE_USERID VARCHAR(255));
+
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE DATETIME YEAR TO SECOND,
+ ORDERTYPE VARCHAR(255),
+ ORDERSTATUS VARCHAR(255),
+ PRICE DECIMAL(14, 2),
+ QUANTITY FLOAT NOT NULL,
+ OPENDATE DATETIME YEAR TO SECOND,
+ ORDERID INTEGER NOT NULL PRIMARY KEY CONSTRAINT ORDERID,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(255),
+ HOLDING_HOLDINGID INTEGER);
+
+
+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);
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/mysql/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/mysql/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/mysql/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/mysql/Table.ddl Sun Jun 27 03:38:58 2010
@@ -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 DATETIME,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(255));
+
+ALTER TABLE holdingejb
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE accountprofileejb
+ (ADDRESS VARCHAR(255),
+ PASSWD VARCHAR(255),
+ USERID VARCHAR(255) NOT NULL,
+ EMAIL VARCHAR(255),
+ CREDITCARD VARCHAR(255),
+ FULLNAME VARCHAR(255));
+
+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(255),
+ SYMBOL VARCHAR(255) 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(255) NOT NULL);
+
+ALTER TABLE keygenejb
+ ADD CONSTRAINT PK_KEYGENEJB PRIMARY KEY (KEYNAME);
+
+CREATE TABLE accountejb
+ (CREATIONDATE DATETIME,
+ OPENBALANCE DECIMAL(14, 2),
+ LOGOUTCOUNT INTEGER NOT NULL,
+ BALANCE DECIMAL(14, 2),
+ ACCOUNTID INTEGER NOT NULL,
+ LASTLOGIN DATETIME,
+ LOGINCOUNT INTEGER NOT NULL,
+ PROFILE_USERID VARCHAR(255));
+
+ALTER TABLE accountejb
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE orderejb
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE DATETIME,
+ ORDERTYPE VARCHAR(255),
+ ORDERSTATUS VARCHAR(255),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE NOT NULL,
+ OPENDATE DATETIME,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(255),
+ 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);
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/oracle/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/oracle/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/oracle/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/oracle/Table.ddl Sun Jun 27 03:38:58 2010
@@ -0,0 +1,100 @@
+-- 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 cascade constraints;
+-- DROP TABLE ACCOUNTPROFILEEJB cascade constraints;
+-- DROP TABLE QUOTEEJB cascade constraints;
+-- DROP TABLE KEYGENEJB cascade constraints;
+-- DROP TABLE ACCOUNTEJB cascade constraints;
+-- DROP TABLE ORDEREJB cascade constraints;
+
+CREATE TABLE HOLDINGEJB
+ (PURCHASEPRICE DECIMAL(14, 2) NULL,
+ HOLDINGID INTEGER NOT NULL,
+ QUANTITY NUMBER NOT NULL,
+ PURCHASEDATE DATE NULL,
+ ACCOUNT_ACCOUNTID INTEGER NULL,
+ QUOTE_SYMBOL VARCHAR2(250) NULL);
+
+ALTER TABLE HOLDINGEJB
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR2(250) NULL,
+ PASSWD VARCHAR2(250) NULL,
+ USERID VARCHAR2(250) NOT NULL,
+ EMAIL VARCHAR2(250) NULL,
+ CREDITCARD VARCHAR2(250) NULL,
+ FULLNAME VARCHAR2(250) NULL);
+
+ALTER TABLE ACCOUNTPROFILEEJB
+ ADD CONSTRAINT PK_ACCOUNTPROFILEEJB PRIMARY KEY (USERID);
+
+CREATE TABLE QUOTEEJB
+ (LOW DECIMAL(14, 2) NULL,
+ OPEN1 DECIMAL(14, 2) NULL,
+ VOLUME NUMBER NOT NULL,
+ PRICE DECIMAL(14, 2) NULL,
+ HIGH DECIMAL(14, 2) NULL,
+ COMPANYNAME VARCHAR2(250) NULL,
+ SYMBOL VARCHAR2(250) NOT NULL,
+ CHANGE1 NUMBER NOT NULL);
+
+ALTER TABLE QUOTEEJB
+ ADD CONSTRAINT PK_QUOTEEJB PRIMARY KEY (SYMBOL);
+
+CREATE TABLE KEYGENEJB
+ (KEYVAL INTEGER NOT NULL,
+ KEYNAME VARCHAR2(250) NOT NULL);
+
+ALTER TABLE KEYGENEJB
+ ADD CONSTRAINT PK_KEYGENEJB PRIMARY KEY (KEYNAME);
+
+CREATE TABLE ACCOUNTEJB
+ (CREATIONDATE DATE NULL,
+ OPENBALANCE DECIMAL(14, 2) NULL,
+ LOGOUTCOUNT INTEGER NOT NULL,
+ BALANCE DECIMAL(14, 2) NULL,
+ ACCOUNTID INTEGER NOT NULL,
+ LASTLOGIN DATE NULL,
+ LOGINCOUNT INTEGER NOT NULL,
+ PROFILE_USERID VARCHAR2(250) NULL);
+
+ALTER TABLE ACCOUNTEJB
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2) NULL,
+ COMPLETIONDATE DATE NULL,
+ ORDERTYPE VARCHAR2(250) NULL,
+ ORDERSTATUS VARCHAR2(250) NULL,
+ PRICE DECIMAL(14, 2) NULL,
+ QUANTITY NUMBER NOT NULL,
+ OPENDATE DATE NULL,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER NULL,
+ QUOTE_SYMBOL VARCHAR2(250) NULL,
+ HOLDING_HOLDINGID INTEGER NULL);
+
+ALTER TABLE ORDEREJB
+ ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+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);
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/other/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/other/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/other/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/other/Table.ddl Sun Jun 27 03:38:58 2010
@@ -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(250));
+
+ALTER TABLE HOLDINGEJB
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(250),
+ PASSWD VARCHAR(250),
+ USERID VARCHAR(250) NOT NULL,
+ EMAIL VARCHAR(250),
+ CREDITCARD VARCHAR(250),
+ FULLNAME VARCHAR(250));
+
+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(250),
+ SYMBOL VARCHAR(250) 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(250) 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(250));
+
+ALTER TABLE ACCOUNTEJB
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE TIMESTAMP,
+ ORDERTYPE VARCHAR(250),
+ ORDERSTATUS VARCHAR(250),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE NOT NULL,
+ OPENDATE TIMESTAMP,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250),
+ 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);
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/postgre/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/postgre/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/postgre/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/postgre/Table.ddl Sun Jun 27 03:38:58 2010
@@ -0,0 +1,102 @@
+-- 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
+
+-- If you first time initialize postgre db, the drop statements should be commented out as following.
+-- 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 PRECISION NOT NULL,
+ PURCHASEDATE TIMESTAMP,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(255));
+
+ALTER TABLE holdingejb
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE accountprofileejb
+ (ADDRESS VARCHAR(255),
+ PASSWD VARCHAR(255),
+ USERID VARCHAR(255) NOT NULL,
+ EMAIL VARCHAR(255),
+ CREDITCARD VARCHAR(255),
+ FULLNAME VARCHAR(255));
+
+ALTER TABLE accountprofileejb
+ ADD CONSTRAINT PK_ACCOUNTPROFILE2 PRIMARY KEY (USERID);
+
+CREATE TABLE quoteejb
+ (LOW DECIMAL(14, 2),
+ OPEN1 DECIMAL(14, 2),
+ VOLUME DOUBLE PRECISION NOT NULL,
+ PRICE DECIMAL(14, 2),
+ HIGH DECIMAL(14, 2),
+ COMPANYNAME VARCHAR(255),
+ SYMBOL VARCHAR(255) NOT NULL,
+ CHANGE1 DOUBLE PRECISION NOT NULL);
+
+ALTER TABLE quoteejb
+ ADD CONSTRAINT PK_QUOTEEJB PRIMARY KEY (SYMBOL);
+
+CREATE TABLE keygenejb
+ (KEYVAL INTEGER NOT NULL,
+ KEYNAME VARCHAR(255) 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(255));
+
+ALTER TABLE accountejb
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE orderejb
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE TIMESTAMP,
+ ORDERTYPE VARCHAR(255),
+ ORDERSTATUS VARCHAR(255),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE PRECISION NOT NULL,
+ OPENDATE TIMESTAMP,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(255),
+ HOLDING_HOLDINGID INTEGER);
+
+ALTER TABLE orderejb
+ ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+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);
Added: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/sqlserver/Table.ddl
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/sqlserver/Table.ddl?rev=958321&view=auto
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/sqlserver/Table.ddl (added)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/resources/dbscripts/sqlserver/Table.ddl Sun Jun 27 03:38:58 2010
@@ -0,0 +1,87 @@
+-- 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 INT NOT NULL PRIMARY KEY,
+ QUANTITY FLOAT NOT NULL,
+ PURCHASEDATE DATETIME,
+ ACCOUNT_ACCOUNTID INT,
+ QUOTE_SYMBOL VARCHAR(255));
+
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(255),
+ PASSWD VARCHAR(255),
+ USERID VARCHAR(255) NOT NULL PRIMARY KEY,
+ EMAIL VARCHAR(255),
+ CREDITCARD VARCHAR(255),
+ FULLNAME VARCHAR(255));
+
+
+CREATE TABLE QUOTEEJB
+ (LOW DECIMAL(14, 2),
+ OPEN1 DECIMAL(14, 2),
+ VOLUME FLOAT NOT NULL,
+ PRICE DECIMAL(14, 2),
+ HIGH DECIMAL(14, 2),
+ COMPANYNAME VARCHAR(255),
+ SYMBOL VARCHAR(255) NOT NULL PRIMARY KEY,
+ CHANGE1 FLOAT NOT NULL);
+
+
+CREATE TABLE KEYGENEJB
+ (KEYVAL INT NOT NULL,
+ KEYNAME VARCHAR(255) NOT NULL PRIMARY KEY);
+
+
+CREATE TABLE ACCOUNTEJB
+ (CREATIONDATE DATETIME,
+ OPENBALANCE DECIMAL(14, 2),
+ LOGOUTCOUNT INT NOT NULL,
+ BALANCE DECIMAL(14, 2),
+ ACCOUNTID INT NOT NULL PRIMARY KEY,
+ LASTLOGIN DATETIME,
+ LOGINCOUNT INT NOT NULL,
+ PROFILE_USERID VARCHAR(255));
+
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE DATETIME,
+ ORDERTYPE VARCHAR(255),
+ ORDERSTATUS VARCHAR(255),
+ PRICE DECIMAL(14, 2),
+ QUANTITY FLOAT NOT NULL,
+ OPENDATE DATETIME,
+ ORDERID INT NOT NULL PRIMARY KEY,
+ ACCOUNT_ACCOUNTID INT,
+ QUOTE_SYMBOL VARCHAR(255),
+ HOLDING_HOLDINGID INT);
+
+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);
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/geronimo-web.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/geronimo-web.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/geronimo-web.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/geronimo-web.xml Sun Jun 27 03:38:58 2010
@@ -23,27 +23,125 @@
<sys:environment>
<sys:moduleId>
- <sys:groupId>org.apache.geronimo.daytrader.assemblies.web</sys:groupId>
- <sys:artifactId>daytrader-web-jdbc</sys:artifactId>
- <sys:version>2.2</sys:version>
- <sys:type>war</sys:type>
+ <sys:groupId>${project.groupId}</sys:groupId>
+ <sys:artifactId>${project.artifactId}</sys:artifactId>
+ <sys:version>${project.version}</sys:version>
+ <sys:type>car</sys:type>
</sys:moduleId>
<sys:dependencies>
<sys:dependency>
- <sys:groupId>org.apache.geronimo.daytrader.plugins</sys:groupId>
+ <sys:groupId>org.apache.geronimo.samples.daytrader.plugins</sys:groupId>
<sys:artifactId>daytrader-derby-datasource</sys:artifactId>
+ <sys:version>${project.version}</sys:version>
+ <sys:type>car</sys:type>
</sys:dependency>
</sys:dependencies>
</sys:environment>
- <context-root>/daytrader</context-root>
+ <context-root>/${project.artifactId}</context-root>
- <naming:resource-ref>
+ <naming:resource-ref>
<naming:ref-name>jdbc/TradeDataSource</naming:ref-name>
<naming:resource-link>jdbc/TradeDataSource</naming:resource-link>
</naming:resource-ref>
+ <naming:resource-ref>
+ <naming:ref-name>jdbc/NoTxTradeDataSource</naming:ref-name>
+ <naming:resource-link>jdbc/NoTxTradeDataSource</naming:resource-link>
+ </naming:resource-ref>
+
+ <gbean name="DBInitialization" class="org.apache.geronimo.connector.wrapper.DatabaseInitializationGBean">
+ <!--sql override path
+ <attribute name="sql">
+create table OPENJPASEQ
+(ID SMALLINT NOT NULL PRIMARY KEY,
+SEQUENCE_VALUE BIGINT);
+
+CREATE TABLE HOLDINGEJB
+ (PURCHASEPRICE DECIMAL(14, 2),
+ HOLDINGID INTEGER NOT NULL,
+ QUANTITY DOUBLE NOT NULL,
+ PURCHASEDATE TIMESTAMP,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250));
+
+ALTER TABLE HOLDINGEJB
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(250),
+ PASSWD VARCHAR(250),
+ USERID VARCHAR(250) NOT NULL,
+ EMAIL VARCHAR(250),
+ CREDITCARD VARCHAR(250),
+ FULLNAME VARCHAR(250));
+
+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(250),
+ SYMBOL VARCHAR(250) 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(250) 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(250));
+
+ALTER TABLE ACCOUNTEJB
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE TIMESTAMP,
+ ORDERTYPE VARCHAR(250),
+ ORDERSTATUS VARCHAR(250),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE NOT NULL,
+ OPENDATE TIMESTAMP,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250),
+ HOLDING_HOLDINGID INTEGER);
+
+ALTER TABLE ORDEREJB
+ ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+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);
+ </attribute>-->
+ <!-- According to your database vendor, you can put these values: db2, oracle, informix, mysql, sqlserver, postgre, other(means any other vendor)-->
+ <attribute name="path">/dbscripts/derby/Table.ddl</attribute>
+ <reference name="DataSource">
+ <name>jdbc/NoTxTradeDataSource</name>
+ </reference>
+ </gbean>
+
</web-app>
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/web.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/web.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/assemblies/web/daytrader-web-jpa/src/main/webapp/WEB-INF/web.xml Sun Jun 27 03:38:58 2010
@@ -427,6 +427,12 @@
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
+ <resource-ref>
+ <res-ref-name>jdbc/NoTxTradeDataSource</res-ref-name>
+ <res-type>javax.sql.DataSource</res-type>
+ <res-auth>Container</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ </resource-ref>
<!-- JavaEE only
<resource-ref>
<res-ref-name>jms/QueueConnectionFactory</res-ref-name>
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/modules/core/src/main/java/org/apache/geronimo/samples/daytrader/core/direct/TradeJPADirect.java Sun Jun 27 03:38:58 2010
@@ -64,6 +64,9 @@ public class TradeJPADirect implements T
private static BigDecimal ZERO = new BigDecimal(0.0);
private static boolean initialized = false;
+
+ private Integer soldholdingID = null;
+ private Object soldholdingIDlock = new Object();
/**
* Zero arg constructor for TradeJPADirect
@@ -92,7 +95,7 @@ public class TradeJPADirect implements T
if (initialized)
return;
if (Log.doTrace())
- Log.trace("TradeJPADirect:init -- *** initializing");
+ Log.trace("TradeJPADirect:init -- *** initializing");
TradeConfig.setPublishQuotePriceChange(false);
@@ -295,9 +298,12 @@ public class TradeJPADirect implements T
// commit the transaction before calling completeOrder
entityManager.getTransaction().commit();
- if (orderProcessingMode == TradeConfig.SYNCH)
- completeOrder(order.getOrderID(), false);
- else if (orderProcessingMode == TradeConfig.ASYNCH_2PHASE)
+ if (orderProcessingMode == TradeConfig.SYNCH) {
+ synchronized(soldholdingIDlock) {
+ this.soldholdingID = holding.getHoldingID();
+ completeOrder(order.getOrderID(), false);
+ }
+ } else if (orderProcessingMode == TradeConfig.ASYNCH_2PHASE)
queueOrder(order.getOrderID(), true);
}
@@ -353,11 +359,14 @@ public class TradeJPADirect implements T
AccountDataBean account = order.getAccount();
QuoteDataBean quote = order.getQuote();
- HoldingDataBean holding = order.getHolding();
+ HoldingDataBean holding = null;
+ if(order.isSell() && this.soldholdingID != null){
+ holding = entityManager.find(HoldingDataBean.class, this.soldholdingID);
+ }
BigDecimal price = order.getPrice();
double quantity = order.getQuantity();
- String userID = account.getProfile().getUserID();
+ //String userID = account.getProfile().getUserID();
if (Log.doTrace())
Log.trace("TradeJPADirect:completeOrder--> Completing Order "
@@ -365,23 +374,25 @@ public class TradeJPADirect implements T
+ "\n\t Account info: " + account + "\n\t Quote info: "
+ quote + "\n\t Holding info: " + holding);
- HoldingDataBean newHolding = null;
+ HoldingDataBean newHolding = null;
+
if (order.isBuy()) {
/*
* Complete a Buy operation - create a new Holding for the Account -
* deduct the Order cost from the Account balance
*/
-
- newHolding = createHolding(account, quote, quantity, price, entityManager);
- }
-
- try {
- entityManager.getTransaction().begin();
-
+ //newHolding = createHolding(account, quote, quantity, price, entityManager);
+ entityManager.getTransaction().begin();
+ newHolding = new HoldingDataBean(quantity, price, new Timestamp(System.currentTimeMillis()), account, quote);
+ entityManager.persist(newHolding);
+
if (newHolding != null) {
order.setHolding(newHolding);
}
+ entityManager.getTransaction().commit();
+ }
+ try {
if (order.isSell()) {
/*
* Complete a Sell operation - remove the Holding from the Account -
@@ -389,13 +400,15 @@ public class TradeJPADirect implements T
*/
if (holding == null) {
Log.error("TradeJPADirect:completeOrder -- Unable to sell order " + order.getOrderID() + " holding already sold");
- order.cancel();
- entityManager.getTransaction().commit();
+ order.cancel();
return order;
}
else {
- entityManager.remove(holding);
+ entityManager.getTransaction().begin();
+ entityManager.remove(holding);
order.setHolding(null);
+ this.soldholdingID = null;
+ entityManager.getTransaction().commit();
}
}
@@ -409,7 +422,6 @@ public class TradeJPADirect implements T
+ "\n\t Account info: " + account + "\n\t Quote info: "
+ quote + "\n\t Holding info: " + holding);
- entityManager.getTransaction().commit();
}
catch (Exception e) {
e.printStackTrace();
@@ -477,12 +489,12 @@ public class TradeJPADirect implements T
/*
* managed transaction
*/
- entityManager.getTransaction().begin();
+ //entityManager.getTransaction().begin();
Query query = entityManager
.createNamedQuery("orderejb.closedOrders");
query.setParameter("userID", userID);
- entityManager.getTransaction().commit();
+ //entityManager.getTransaction().commit();
Collection results = query.getResultList();
Iterator itr = results.iterator();
// entityManager.joinTransaction();
@@ -512,6 +524,7 @@ public class TradeJPADirect implements T
}
}
else if (TradeConfig.jpaLayer == TradeConfig.HIBERNATE) {
+ try {
/*
* Add logic to do update orders operation, because JBoss5'
* Hibernate 3.3.1GA DB2Dialect and MySQL5Dialect do not work
@@ -537,8 +550,16 @@ public class TradeJPADirect implements T
Query updateStatus = entityManager.createNativeQuery("UPDATE orderejb o SET o.orderStatus = 'completed' WHERE "
+ "o.orderStatus = 'closed' AND o.ACCOUNT_ACCOUNTID = ?");
updateStatus.setParameter(1, accountid.intValue());
+ entityManager.getTransaction().begin();
updateStatus.executeUpdate();
+ entityManager.getTransaction().commit();
+ } catch (Exception e){
+ entityManager.getTransaction().rollback();
+ entityManager.close();
+ entityManager = null;
+ }
}
+
if (entityManager != null) {
entityManager.close();
entityManager = null;
@@ -949,34 +970,28 @@ public class TradeJPADirect implements T
entityManager.persist(order);
}
catch (Exception e) {
+ entityManager.getTransaction().rollback();
Log.error("TradeJPADirect:createOrder -- failed to create Order", e);
throw new RuntimeException("TradeJPADirect:createOrder -- failed to create Order", e);
}
return order;
}
- private HoldingDataBean createHolding(AccountDataBean account,
+ /*private HoldingDataBean createHolding(AccountDataBean account,
QuoteDataBean quote, double quantity, BigDecimal purchasePrice,
EntityManager entityManager) throws Exception {
HoldingDataBean newHolding = new HoldingDataBean(quantity,
purchasePrice, new Timestamp(System.currentTimeMillis()),
account, quote);
- try {
- /*
- * manage transactions
- */
- entityManager.getTransaction().begin();
- entityManager.persist(newHolding);
- entityManager.getTransaction().commit();
+ try {
+ entityManager.persist(newHolding);
}
catch (Exception e) {
entityManager.getTransaction().rollback();
- } finally {
- entityManager.close();
- }
-
+ }
+
return newHolding;
- }
+ }*/
public double investmentReturn(double investment, double NetValue)
throws Exception {
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/modules/entities/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/modules/entities/pom.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/modules/entities/pom.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/modules/entities/pom.xml Sun Jun 27 03:38:58 2010
@@ -40,7 +40,7 @@
<dependency>
<groupId>org.apache.geronimo.samples.daytrader.modules</groupId>
<artifactId>daytrader-util</artifactId>
- <version>${pom.version}</version>
+ <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/pom.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/pom.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/pom.xml Sun Jun 27 03:38:58 2010
@@ -36,7 +36,7 @@
<dependency>
<groupId>org.apache.geronimo.samples.daytrader.assemblies.web</groupId>
<artifactId>daytrader-web-jpa</artifactId>
- <version>${version}</version>
+ <version>${project.version}</version>
<type>war</type>
<scope>provided</scope>
</dependency>
@@ -96,6 +96,7 @@
<module>
<groupId>org.apache.geronimo.samples.daytrader.assemblies.web</groupId>
<artifactId>daytrader-web-jpa</artifactId>
+ <version>${project.version}</version>
<type>war</type>
</module>
<instance>
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/src/main/plan/plan.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/src/main/plan/plan.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-jetty/src/main/plan/plan.xml Sun Jun 27 03:38:58 2010
@@ -19,14 +19,120 @@
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2">
-
- <context-root>${project.artifactId}</context-root>
+ <sys:environment>
+ <sys:dependencies>
+ <sys:dependency>
+ <sys:groupId>org.apache.geronimo.samples.daytrader.plugins</sys:groupId>
+ <sys:artifactId>daytrader-derby-datasource</sys:artifactId>
+ <sys:version>${project.version}</sys:version>
+ <sys:type>car</sys:type>
+ </sys:dependency>
+ </sys:dependencies>
+ </sys:environment>
- <naming:resource-ref>
+ <context-root>${project.artifactId}</context-root>
+
+ <naming:resource-ref>
<naming:ref-name>jdbc/TradeDataSource</naming:ref-name>
<naming:resource-link>jdbc/TradeDataSource</naming:resource-link>
</naming:resource-ref>
+ <naming:resource-ref>
+ <naming:ref-name>jdbc/NoTxTradeDataSource</naming:ref-name>
+ <naming:resource-link>jdbc/NoTxTradeDataSource</naming:resource-link>
+ </naming:resource-ref>
+
+ <gbean name="DBInitialization" class="org.apache.geronimo.connector.wrapper.DatabaseInitializationGBean">
+ <!--sql override path
+ <attribute name="sql">
+create table OPENJPASEQ
+(ID SMALLINT NOT NULL PRIMARY KEY,
+SEQUENCE_VALUE BIGINT);
+
+CREATE TABLE HOLDINGEJB
+ (PURCHASEPRICE DECIMAL(14, 2),
+ HOLDINGID INTEGER NOT NULL,
+ QUANTITY DOUBLE NOT NULL,
+ PURCHASEDATE TIMESTAMP,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250));
+
+ALTER TABLE HOLDINGEJB
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(250),
+ PASSWD VARCHAR(250),
+ USERID VARCHAR(250) NOT NULL,
+ EMAIL VARCHAR(250),
+ CREDITCARD VARCHAR(250),
+ FULLNAME VARCHAR(250));
+
+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(250),
+ SYMBOL VARCHAR(250) 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(250) 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(250));
+
+ALTER TABLE ACCOUNTEJB
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE TIMESTAMP,
+ ORDERTYPE VARCHAR(250),
+ ORDERSTATUS VARCHAR(250),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE NOT NULL,
+ OPENDATE TIMESTAMP,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250),
+ HOLDING_HOLDINGID INTEGER);
+
+ALTER TABLE ORDEREJB
+ ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+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);
+ </attribute>-->
+ <!-- According to your database vendor, you can put these values: db2, oracle, informix, mysql, sqlserver, postgre, other(means any other vendor)-->
+ <attribute name="path">/dbscripts/derby/Table.ddl</attribute>
+ <reference name="DataSource">
+ <name>jdbc/NoTxTradeDataSource</name>
+ </reference>
+ </gbean>
+
</web-app>
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/pom.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/pom.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/pom.xml Sun Jun 27 03:38:58 2010
@@ -42,7 +42,7 @@
<dependency>
<groupId>org.apache.geronimo.samples.daytrader.plugins</groupId>
<artifactId>daytrader-derby-datasource</artifactId>
- <version>${version}</version>
+ <version>${project.version}</version>
<type>car</type>
</dependency>
@@ -93,6 +93,7 @@
<module>
<groupId>org.apache.geronimo.samples.daytrader.assemblies.web</groupId>
<artifactId>daytrader-web-jpa</artifactId>
+ <version>${project.version}</version>
<type>war</type>
</module>
<instance>
Modified: geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/src/main/plan/plan.xml?rev=958321&r1=958320&r2=958321&view=diff
==============================================================================
--- geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/src/main/plan/plan.xml (original)
+++ geronimo/samples/branches/3.0-M1/samples/daytrader/plugins/daytrader-web-jpa-tomcat/src/main/plan/plan.xml Sun Jun 27 03:38:58 2010
@@ -19,14 +19,120 @@
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2">
-
+ <sys:environment>
+ <sys:dependencies>
+ <sys:dependency>
+ <sys:groupId>org.apache.geronimo.samples.daytrader.plugins</sys:groupId>
+ <sys:artifactId>daytrader-derby-datasource</sys:artifactId>
+ <sys:version>${project.version}</sys:version>
+ <sys:type>car</sys:type>
+ </sys:dependency>
+ </sys:dependencies>
+ </sys:environment>
+
<context-root>${project.artifactId}</context-root>
- <naming:resource-ref>
+ <naming:resource-ref>
<naming:ref-name>jdbc/TradeDataSource</naming:ref-name>
<naming:resource-link>jdbc/TradeDataSource</naming:resource-link>
</naming:resource-ref>
+ <naming:resource-ref>
+ <naming:ref-name>jdbc/NoTxTradeDataSource</naming:ref-name>
+ <naming:resource-link>jdbc/NoTxTradeDataSource</naming:resource-link>
+ </naming:resource-ref>
+
+ <gbean name="DBInitialization" class="org.apache.geronimo.connector.wrapper.DatabaseInitializationGBean">
+ <!--sql override path
+ <attribute name="sql">
+create table OPENJPASEQ
+(ID SMALLINT NOT NULL PRIMARY KEY,
+SEQUENCE_VALUE BIGINT);
+
+CREATE TABLE HOLDINGEJB
+ (PURCHASEPRICE DECIMAL(14, 2),
+ HOLDINGID INTEGER NOT NULL,
+ QUANTITY DOUBLE NOT NULL,
+ PURCHASEDATE TIMESTAMP,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250));
+
+ALTER TABLE HOLDINGEJB
+ ADD CONSTRAINT PK_HOLDINGEJB PRIMARY KEY (HOLDINGID);
+
+CREATE TABLE ACCOUNTPROFILEEJB
+ (ADDRESS VARCHAR(250),
+ PASSWD VARCHAR(250),
+ USERID VARCHAR(250) NOT NULL,
+ EMAIL VARCHAR(250),
+ CREDITCARD VARCHAR(250),
+ FULLNAME VARCHAR(250));
+
+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(250),
+ SYMBOL VARCHAR(250) 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(250) 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(250));
+
+ALTER TABLE ACCOUNTEJB
+ ADD CONSTRAINT PK_ACCOUNTEJB PRIMARY KEY (ACCOUNTID);
+
+CREATE TABLE ORDEREJB
+ (ORDERFEE DECIMAL(14, 2),
+ COMPLETIONDATE TIMESTAMP,
+ ORDERTYPE VARCHAR(250),
+ ORDERSTATUS VARCHAR(250),
+ PRICE DECIMAL(14, 2),
+ QUANTITY DOUBLE NOT NULL,
+ OPENDATE TIMESTAMP,
+ ORDERID INTEGER NOT NULL,
+ ACCOUNT_ACCOUNTID INTEGER,
+ QUOTE_SYMBOL VARCHAR(250),
+ HOLDING_HOLDINGID INTEGER);
+
+ALTER TABLE ORDEREJB
+ ADD CONSTRAINT PK_ORDEREJB PRIMARY KEY (ORDERID);
+
+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);
+ </attribute>-->
+ <!-- According to your database vendor, you can put these values: db2, oracle, informix, mysql, sqlserver, postgre, other(means any other vendor)-->
+ <attribute name="path">/dbscripts/derby/Table.ddl</attribute>
+ <reference name="DataSource">
+ <name>jdbc/NoTxTradeDataSource</name>
+ </reference>
+ </gbean>
+
</web-app>