You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jb...@apache.org on 2010/06/06 04:47:16 UTC
svn commit: r951809 - in /incubator/aries/trunk/samples/ariestrader:
assemblies/equinox-test-harness/src/main/resources/
modules/ariestrader-derby-ds/src/main/resources/OSGI-INF/blueprint/
modules/ariestrader-entities/src/main/resources/META-INF/ modul...
Author: jbohn
Date: Sun Jun 6 02:47:15 2010
New Revision: 951809
URL: http://svn.apache.org/viewvc?rev=951809&view=rev
Log:
ARIES-317 Update AriesTrader so that the database initialization is not required - get reset and populate DB panels working better under Equinox assembly
Modified:
incubator/aries/trunk/samples/ariestrader/assemblies/equinox-test-harness/src/main/resources/tradeDB.sql
incubator/aries/trunk/samples/ariestrader/modules/ariestrader-derby-ds/src/main/resources/OSGI-INF/blueprint/blueprint.xml
incubator/aries/trunk/samples/ariestrader/modules/ariestrader-entities/src/main/resources/META-INF/persistence.xml
incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeBuildDB.java
incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeConfigServlet.java
Modified: incubator/aries/trunk/samples/ariestrader/assemblies/equinox-test-harness/src/main/resources/tradeDB.sql
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader/assemblies/equinox-test-harness/src/main/resources/tradeDB.sql?rev=951809&r1=951808&r2=951809&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader/assemblies/equinox-test-harness/src/main/resources/tradeDB.sql (original)
+++ incubator/aries/trunk/samples/ariestrader/assemblies/equinox-test-harness/src/main/resources/tradeDB.sql Sun Jun 6 02:47:15 2010
@@ -1,101 +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.
---
-
-connect 'jdbc:derby:tradedb;create=true';
-create table holdingejb
- (purchaseprice decimal(10, 2),
- holdingid integer not null,
- quantity double not null,
- purchasedate timestamp,
- account_accountid integer,
- quote_symbol varchar(250),
- optLock integer);
-
-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),
- optLock integer);
-
-alter table accountprofileejb
- add constraint pk_accountprofile2 primary key (userid);
-
-create table quoteejb
- (low decimal(10, 2),
- open1 decimal(10, 2),
- volume double not null,
- price decimal(10, 2),
- high decimal(10, 2),
- companyname varchar(250),
- symbol varchar(250) not null,
- change1 double not null,
- optLock integer);
-
-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(10, 2),
- logoutcount integer not null,
- balance decimal(10, 2),
- accountid integer not null,
- lastlogin timestamp,
- logincount integer not null,
- PROFILE_USERID VARCHAR(250),
- optLock integer);
-
-alter table accountejb
- add constraint pk_accountejb primary key (accountid);
-
-create table orderejb
- (orderfee decimal(10, 2),
- completiondate timestamp,
- ordertype varchar(250),
- orderstatus varchar(250),
- price decimal(10, 2),
- quantity double not null,
- opendate timestamp,
- orderid integer not null,
- account_accountid integer,
- quote_symbol varchar(250),
- holding_holdingid integer,
- optLock integer);
-
-alter table orderejb
- add constraint pk_orderejb primary key (orderid);
-
-create index profile_userid on accountejb(profile_userid);
-create index account_accountid on holdingejb(account_accountid);
-create index account_accountidt on orderejb(account_accountid);
-create index holding_holdingid on orderejb(holding_holdingid);
-create index orderstatus on orderejb(orderstatus);
-create index ordertype on orderejb(ordertype);
-exit;
+## 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);
+
Modified: incubator/aries/trunk/samples/ariestrader/modules/ariestrader-derby-ds/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader/modules/ariestrader-derby-ds/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=951809&r1=951808&r2=951809&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader/modules/ariestrader-derby-ds/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original)
+++ incubator/aries/trunk/samples/ariestrader/modules/ariestrader-derby-ds/src/main/resources/OSGI-INF/blueprint/blueprint.xml Sun Jun 6 02:47:15 2010
@@ -21,6 +21,9 @@
<bean id="derbyXADataSource" class="org.apache.derby.jdbc.EmbeddedXADataSource">
<property name="databaseName" value="tradedb"/>
+ <!-- This creates the database on the fly. See the persistence.xml under ariestrader-entities for property
+ configuration. The DB is created from persistence entities, this is not recommended for production use. -->
+ <property name="createDatabase" value="create" />
</bean>
<service id="TradeDataSource" ref="derbyXADataSource" interface="javax.sql.XADataSource">
@@ -32,6 +35,8 @@
<bean id="derbyDataSource" class="org.apache.derby.jdbc.EmbeddedDataSource">
<property name="databaseName" value="tradedb"/>
+ <!-- This creates the database on the fly. -->
+ <property name="createDatabase" value="create" />
</bean>
<service id="NoTxTradeDataSource" ref="derbyDataSource" interface="javax.sql.DataSource">
Modified: incubator/aries/trunk/samples/ariestrader/modules/ariestrader-entities/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader/modules/ariestrader-entities/src/main/resources/META-INF/persistence.xml?rev=951809&r1=951808&r2=951809&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader/modules/ariestrader-entities/src/main/resources/META-INF/persistence.xml (original)
+++ incubator/aries/trunk/samples/ariestrader/modules/ariestrader-entities/src/main/resources/META-INF/persistence.xml Sun Jun 6 02:47:15 2010
@@ -33,6 +33,11 @@
<property name="openjpa.BrokerImpl" value="non-finalizing" />
<property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>
<property name="openjpa.jdbc.UpdateManager" value="org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager"/>
+ <!-- These properties are creating the database on the fly. We are using them to avoid users having
+ to create a database to run the sample. This is not something that should be used in production.
+ See also the create=true line in the ariestrader-derby-ds blueprint meta data -->
+ <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
+ <property name="openjpa.jdbc.DBDictionary" value="derby"/>
</properties>
</persistence-unit>
@@ -52,16 +57,19 @@
<property name="openjpa.BrokerImpl" value="non-finalizing" />
<property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>
<property name="openjpa.jdbc.UpdateManager" value="org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager"/>
+ <!-- These properties are creating the database on the fly. We are using them to avoid users having
+ to create a database to run the sample. This is not something that should be used in production.
+ See also the create=true line in the ariestrader-derby-ds blueprint meta data -->
+ <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
+ <property name="openjpa.jdbc.DBDictionary" value="derby"/>
</properties>
</persistence-unit>
<!--
<properties>
- <property name="openjpa.jdbc.DBDictionary" value="derby" />
<property name="openjpa.ConnectionProperties" value="DriverClassName=com.ibm.db2.jcc.DB2Driver,URL=jdbc:db2://9.12.24.171:50000/TRADE61,MaxActive=50,MaxWait=10000,Username=db2inst1,Password=db2inst1"/>
<property name="openjpa.ConnectionDriverName" value="org.apache.commons.dbcp.BasicDataSource"/>
<property name="openjpa.jdbc.DBDictionary" value="db2(batchLimit=600)"/>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
<property name="openjpa.Multithreaded" value="true"/>
<property name="openjpa.Compatibility" value="flushBeforeDetach=false"/>
<property name="openjpa.jdbc.UpdateManager" value="com.ibm.ws.persistence.jdbc.kernel.OperationOrderUpdateManager(batchLimit=0)" />
Modified: incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeBuildDB.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeBuildDB.java?rev=951809&r1=951808&r2=951809&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeBuildDB.java (original)
+++ incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeBuildDB.java Sun Jun 6 02:47:15 2010
@@ -95,7 +95,9 @@ public class TradeBuildDB {
try {
out.println("<BR>TradeBuildDB: **** Database Product detected: "
+ dbProductName + " ****</BR>");
- if (dbProductName.startsWith("DB2/")) { // if db is DB2
+ if (warPath.equals("")) { // if empty warPath provided assume this is Aries under the Equinox test harness
+ ddlFile = new File("tradeDB.sql");
+ } else if (dbProductName.startsWith("DB2/")) { // if db is DB2
ddlFile = new File(warPath + File.separatorChar + "dbscripts"
+ File.separatorChar + "db2" + File.separatorChar + "Table.ddl");
} else if (dbProductName.startsWith("Apache Derby")) { // if db is Derby
Modified: incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeConfigServlet.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeConfigServlet.java?rev=951809&r1=951808&r2=951809&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeConfigServlet.java (original)
+++ incubator/aries/trunk/samples/ariestrader/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/TradeConfigServlet.java Sun Jun 6 02:47:15 2010
@@ -415,7 +415,9 @@ public class TradeConfigServlet extends
else if (action.equals("buildDBTables"))
{
resp.setContentType("text/html");
- new TradeBuildDB(resp.getWriter(), getServletConfig().getServletContext().getRealPath("/"));
+ String path = getServletConfig().getServletContext().getRealPath("/");
+ if (path == null) path=""; // if there is no real path assume this is Apache Aries in Equinox test harness
+ new TradeBuildDB(resp.getWriter(), path);
}
doConfigDisplay(req, resp, result + "Current AriesTrader Configuration:");
}