You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2006/10/30 22:52:56 UTC
svn commit: r469284 [3/3] - in /geronimo/daytrader/trunk: ./ modules/ear/
modules/ejb/ modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/
modules/ejb/src/main/java/org/apache/geronimo/samples/daytrader/ejb/
modules/ejb/src/main/resources/...
Added: geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/daytrader.sql
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/daytrader.sql?view=auto&rev=469284
==============================================================================
--- geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/daytrader.sql (added)
+++ geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/daytrader.sql Mon Oct 30 13:52:55 2006
@@ -0,0 +1,90 @@
+--drop table holdingejb;
+--drop table accountprofileejb;
+--drop table quoteejb;
+--drop table keygenejb;
+--drop table accountejb;
+--drop table orderejb;
+
+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);
+
Propchange: geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/daytrader.sql
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/daytrader.sql
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/daytrader.sql
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/ejb-jar.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/ejb-jar.xml?view=diff&rev=469284&r1=469283&r2=469284
==============================================================================
--- geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/ejb-jar.xml (original)
+++ geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/ejb-jar.xml Mon Oct 30 13:52:55 2006
@@ -112,6 +112,59 @@
<use-caller-identity/>
</security-identity>
</session>
+ <session>
+ <description>Trade JPA Session EJB manages all Trading services</description>
+ <display-name>TradeJPA</display-name>
+ <ejb-name>TradeJPA</ejb-name>
+ <home>org.apache.geronimo.samples.daytrader.ejb.TradeHome</home>
+ <remote>org.apache.geronimo.samples.daytrader.ejb.Trade</remote>
+ <ejb-class>org.apache.geronimo.samples.daytrader.TradeJPA</ejb-class>
+ <session-type>Stateless</session-type>
+ <transaction-type>Container</transaction-type>
+ <env-entry>
+ <env-entry-name>orderBySQLSupported</env-entry-name>
+ <env-entry-type>java.lang.Boolean</env-entry-type>
+ <env-entry-value>true</env-entry-value>
+ </env-entry>
+ <env-entry>
+ <env-entry-name>updateQuotePrices</env-entry-name>
+ <env-entry-type>java.lang.Boolean</env-entry-type>
+ <env-entry-value>true</env-entry-value>
+ </env-entry>
+ <env-entry>
+ <env-entry-name>publishQuotePriceChange</env-entry-name>
+ <env-entry-type>java.lang.Boolean</env-entry-type>
+ <env-entry-value>false</env-entry-value>
+ </env-entry>
+ <resource-ref>
+ <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
+ <res-type>javax.jms.QueueConnectionFactory</res-type>
+ <res-auth>Application</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ </resource-ref>
+ <resource-ref>
+ <res-ref-name>jms/TopicConnectionFactory</res-ref-name>
+ <res-type>javax.jms.TopicConnectionFactory</res-type>
+ <res-auth>Application</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ </resource-ref>
+ <message-destination-ref>
+ <message-destination-ref-name>jms/TradeBrokerQueue</message-destination-ref-name>
+ <message-destination-type>javax.jms.Queue</message-destination-type>
+ <message-destination-usage>Produces</message-destination-usage>
+ <message-destination-link>TradeBrokerQueue</message-destination-link>
+ </message-destination-ref>
+ <message-destination-ref>
+ <message-destination-ref-name>jms/TradeStreamerTopic</message-destination-ref-name>
+ <message-destination-type>javax.jms.Topic</message-destination-type>
+ <message-destination-usage>Produces</message-destination-usage>
+ <message-destination-link>TradeStreamerTopic</message-destination-link>
+ </message-destination-ref>
+ <security-identity>
+ <description/>
+ <use-caller-identity/>
+ </security-identity>
+ </session>
<entity>
<display-name>HoldingEJB</display-name>
<ejb-name>HoldingEJB</ejb-name>
@@ -855,6 +908,41 @@
<method-param>java.lang.Integer</method-param>
</method-params>
</method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>publishQuotePriceChange</method-name>
+ <method-params>
+ <method-param>org.apache.geronimo.samples.daytrader.QuoteDataBean</method-param>
+ <method-param>java.math.BigDecimal</method-param>
+ <method-param>java.math.BigDecimal</method-param>
+ <method-param>double</method-param>
+ </method-params>
+ </method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>cancelOrderOnePhase</method-name>
+ <method-params>
+ <method-param>java.lang.Integer</method-param>
+ </method-params>
+ </method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>completeOrderOnePhaseDirect</method-name>
+ <method-params>
+ <method-param>java.lang.Integer</method-param>
+ </method-params>
+ </method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>queueOrderOnePhase</method-name>
+ <method-params>
+ <method-param>java.lang.Integer</method-param>
+ </method-params>
+ </method>
<trans-attribute>RequiresNew</trans-attribute>
</container-transaction>
<container-transaction>
@@ -882,6 +970,30 @@
<method-param>boolean</method-param>
</method-params>
</method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>cancelOrderOnePhaseDirect</method-name>
+ <method-params>
+ <method-param>java.lang.Integer</method-param>
+ </method-params>
+ </method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>completeOrderOnePhaseDirect</method-name>
+ <method-params>
+ <method-param>java.lang.Integer</method-param>
+ </method-params>
+ </method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>resetTrade</method-name>
+ <method-params>
+ <method-param>boolean</method-param>
+ </method-params>
+ </method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
<container-transaction>
@@ -919,6 +1031,10 @@
</method>
<method>
<ejb-name>TradeEJB</ejb-name>
+ <method-name>*</method-name>
+ </method>
+ <method>
+ <ejb-name>TradeJPA</ejb-name>
<method-name>*</method-name>
</method>
<method>
Copied: geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/persistence.xml (from r464280, geronimo/sandbox/javaee5/itests-jee5/jpa/ejb/src/main/resources/META-INF/persistence.xml)
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/persistence.xml?view=diff&rev=469284&p1=geronimo/sandbox/javaee5/itests-jee5/jpa/ejb/src/main/resources/META-INF/persistence.xml&r1=464280&p2=geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/persistence.xml&r2=469284
==============================================================================
--- geronimo/sandbox/javaee5/itests-jee5/jpa/ejb/src/main/resources/META-INF/persistence.xml (original)
+++ geronimo/daytrader/trunk/modules/ejb/src/main/resources/META-INF/persistence.xml Mon Oct 30 13:52:55 2006
@@ -1,16 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
- <persistence-unit transaction-type="RESOURCE_LOCAL" name="openjpa-itest">
+ <persistence-unit transaction-type="JTA" name="daytrader">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
- <class>org.apache.geronimo.itest.jpa.AllFieldTypes</class>
+ <class>org.apache.geronimo.samples.daytrader.AccountDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.AccountProfileDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.HoldingDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.OrderDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.QuoteDataBean</class>
<exclude-unlisted-classes/>
<properties>
<property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.DerbyDictionary"/>
- <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
- <property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>
+ <!--<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>-->
+ <!--<property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>-->
</properties>
</persistence-unit>
</persistence>
Modified: geronimo/daytrader/trunk/modules/web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/modules/web/src/main/webapp/WEB-INF/web.xml?view=diff&rev=469284&r1=469283&r2=469284
==============================================================================
--- geronimo/daytrader/trunk/modules/web/src/main/webapp/WEB-INF/web.xml (original)
+++ geronimo/daytrader/trunk/modules/web/src/main/webapp/WEB-INF/web.xml Mon Oct 30 13:52:55 2006
@@ -398,6 +398,13 @@
<ejb-link>TradeEJB</ejb-link>
</ejb-ref>
<ejb-ref>
+ <ejb-ref-name>ejb/TradeJPA</ejb-ref-name>
+ <ejb-ref-type>Session</ejb-ref-type>
+ <home>org.apache.geronimo.samples.daytrader.ejb.TradeHome</home>
+ <remote>org.apache.geronimo.samples.daytrader.ejb.Trade</remote>
+ <ejb-link>TradeJPA</ejb-link>
+ </ejb-ref>
+ <ejb-ref>
<ejb-ref-name>ejb/Quote</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>org.apache.geronimo.samples.daytrader.ejb.QuoteHome</home>
Added: geronimo/daytrader/trunk/plans/daytrader-jpa-plan.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/plans/daytrader-jpa-plan.xml?view=auto&rev=469284
==============================================================================
--- geronimo/daytrader/trunk/plans/daytrader-jpa-plan.xml (added)
+++ geronimo/daytrader/trunk/plans/daytrader-jpa-plan.xml Mon Oct 30 13:52:55 2006
@@ -0,0 +1,799 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004-2005 The Apache Software Foundation
+
+ Licensed 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.
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.1">
+ <environment>
+ <moduleId>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-jetty</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ <type>car</type>
+ </moduleId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.configs</groupId>
+ <artifactId>system-database</artifactId>
+ <type>car</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.configs</groupId>
+ <artifactId>openjpa</artifactId>
+ <type>car</type>
+ </dependency>
+ </dependencies>
+ </environment>
+
+ <module>
+ <web>web.war</web>
+ <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
+ <service-ref>
+ <service-ref-name>service/Trade</service-ref-name>
+ <port>
+ <port-name>TradeWSServices</port-name>
+ <protocol>http</protocol>
+ <host>localhost</host>
+ <port>8080</port>
+ <uri>/daytrader/services/TradeWSServices</uri>
+ </port>
+ </service-ref>
+ </web-app>
+ </module>
+
+
+ <!--
+ ##
+ ## T r a d e E J B . j a r
+ ## Module Definition
+ ##
+ ##
+ -->
+ <module>
+ <ejb>dt-ejb.jar</ejb>
+ <!-- Note this must match the -->
+ <openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
+
+
+ <!--
+ ##
+ ## C o n n e c t i o n F a c t o r y D e f i n i t i o n
+ ##
+ ##
+ ##
+ -->
+ <cmp-connection-factory>
+ <resource-link>jdbc/TradeDataSource</resource-link>
+ </cmp-connection-factory>
+ <!-- <ejb-ql-compiler-factory>com.tranql.sql.ejbcompiler.DB2EJBQLCompilerFactory</ejb-ql-compiler-factory> -->
+ <!-- <db-syntax-factory>com.tranql.sql.db2.DB2DBSyntaxFactory</db-syntax-factory> -->
+
+ <enterprise-beans>
+ <session>
+ <ejb-name>TradeEJB</ejb-name>
+ <jndi-name>ejb/TradeEJB</jndi-name>
+ </session>
+ <session>
+ <ejb-name>TradeJPA</ejb-name>
+ <persistence-context-ref>
+ <persistence-context-ref-name>jpa/daytrader</persistence-context-ref-name>
+ <persistence-unit-name>daytrader</persistence-unit-name>
+ <persistence-context-type>transaction-scoped</persistence-context-type>
+ </persistence-context-ref>
+ </session>
+ <session>
+ <ejb-name>KeySequenceEJB</ejb-name>
+ <jndi-name>ejb/KeySequenceEJB</jndi-name>
+ </session>
+
+
+ <!--
+ ##
+ ## H o l d i n g E J B
+ ##
+ ##
+ ##
+ -->
+ <entity>
+ <ejb-name>HoldingEJB</ejb-name>
+ <table-name>HOLDINGEJB</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>purchasePrice</cmp-field-name>
+ <table-column>purchasePrice</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>holdingID</cmp-field-name>
+ <table-column>holdingID</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>quantity</cmp-field-name>
+ <table-column>quantity</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>purchaseDate</cmp-field-name>
+ <table-column>purchaseDate</table-column>
+ </cmp-field-mapping>
+ </entity>
+
+
+ <!--
+ ##
+ ## A c c o u n t P r o f i l e E J B
+ ##
+ ##
+ ##
+ -->
+ <entity>
+ <ejb-name>AccountProfileEJB</ejb-name>
+ <table-name>AccountProfileEJB</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>address</cmp-field-name>
+ <table-column>address</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>passwd</cmp-field-name>
+ <table-column>passwd</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>userID</cmp-field-name>
+ <table-column>userID</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>email</cmp-field-name>
+ <table-column>email</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>creditCard</cmp-field-name>
+ <table-column>creditCard</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>fullName</cmp-field-name>
+ <table-column>fullName</table-column>
+ </cmp-field-mapping>
+ </entity>
+
+
+ <!--
+ ##
+ ## Q u o t e E J B
+ ##
+ ##
+ ##
+ -->
+ <entity>
+ <ejb-name>QuoteEJB</ejb-name>
+ <table-name>QuoteEJB</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>low</cmp-field-name>
+ <table-column>low</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>open</cmp-field-name>
+ <table-column>open1</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>volume</cmp-field-name>
+ <table-column>volume</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>price</cmp-field-name>
+ <table-column>price</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>high</cmp-field-name>
+ <table-column>high</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>companyName</cmp-field-name>
+ <table-column>companyName</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>symbol</cmp-field-name>
+ <table-column>symbol</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>change</cmp-field-name>
+ <table-column>change1</table-column>
+ </cmp-field-mapping>
+ </entity>
+
+
+ <!--
+ ##
+ ## K e y G e n E J B
+ ##
+ ##
+ ##
+ -->
+ <entity>
+ <ejb-name>KeyGenEJB</ejb-name>
+ <table-name>KeyGenEJB</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>keyVal</cmp-field-name>
+ <table-column>keyVal</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>keyName</cmp-field-name>
+ <table-column>keyName</table-column>
+ </cmp-field-mapping>
+ </entity>
+
+
+ <!--
+ ##
+ ## A c c o u n t E J B
+ ##
+ ##
+ ##
+ -->
+ <entity>
+ <ejb-name>AccountEJB</ejb-name>
+ <table-name>AccountEJB</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>creationDate</cmp-field-name>
+ <table-column>creationDate</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>openBalance</cmp-field-name>
+ <table-column>openBalance</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>logoutCount</cmp-field-name>
+ <table-column>logoutCount</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>balance</cmp-field-name>
+ <table-column>balance</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>accountID</cmp-field-name>
+ <table-column>accountID</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>lastLogin</cmp-field-name>
+ <table-column>lastLogin</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>loginCount</cmp-field-name>
+ <table-column>loginCount</table-column>
+ </cmp-field-mapping>
+ </entity>
+
+
+ <!--
+ ##
+ ## O r d e r E J B
+ ##
+ ##
+ ##
+ -->
+ <entity>
+ <ejb-name>OrderEJB</ejb-name>
+ <table-name>OrderEJB</table-name>
+ <cmp-field-mapping>
+ <cmp-field-name>orderFee</cmp-field-name>
+ <table-column>orderFee</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>completionDate</cmp-field-name>
+ <table-column>completionDate</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>orderType</cmp-field-name>
+ <table-column>orderType</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>orderStatus</cmp-field-name>
+ <table-column>orderStatus</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>price</cmp-field-name>
+ <table-column>price</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>quantity</cmp-field-name>
+ <table-column>quantity</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>openDate</cmp-field-name>
+ <table-column>openDate</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>orderID</cmp-field-name>
+ <table-column>orderID</table-column>
+ </cmp-field-mapping>
+ </entity>
+
+
+ <message-driven>
+ <ejb-name>TradeStreamerMDB</ejb-name>
+ <resource-adapter>
+ <!--<resource-link>TradeJMS</resource-link>-->
+ <resource-link>TradeJMSResources</resource-link>
+ </resource-adapter>
+ <activation-config>
+ <activation-config-property>
+ <activation-config-property-name>destinationType</activation-config-property-name>
+ <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
+ </activation-config-property>
+ <activation-config-property>
+ <activation-config-property-name>destination</activation-config-property-name>
+ <activation-config-property-value>TradeStreamerQueue</activation-config-property-value>
+ </activation-config-property>
+ <activation-config-property>
+ <activation-config-property-name>acknowledgeMode</activation-config-property-name>
+ <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
+ </activation-config-property>
+ <activation-config-property>
+ <activation-config-property-name>SubscriptionDurability</activation-config-property-name>
+ <activation-config-property-value>NonDurable</activation-config-property-value>
+ </activation-config-property>
+ </activation-config>
+ </message-driven>
+
+ <message-driven>
+ <ejb-name>TradeBrokerMDB</ejb-name>
+ <resource-adapter>
+ <!--<resource-link>TradeJMS</resource-link>-->
+ <resource-link>TradeJMSResources</resource-link>
+ </resource-adapter>
+ <activation-config>
+ <activation-config-property>
+ <activation-config-property-name>destinationType</activation-config-property-name>
+ <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
+ </activation-config-property>
+ <activation-config-property>
+ <activation-config-property-name>destination</activation-config-property-name>
+ <activation-config-property-value>TradeBrokerQueue</activation-config-property-value>
+ </activation-config-property>
+ <activation-config-property>
+ <activation-config-property-name>acknowledgeMode</activation-config-property-name>
+ <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
+ </activation-config-property>
+ <activation-config-property>
+ <activation-config-property-name>SubscriptionDurability</activation-config-property-name>
+ <activation-config-property-value>NonDurable</activation-config-property-value>
+ </activation-config-property>
+ </activation-config>
+ </message-driven>
+ </enterprise-beans>
+
+ <!--
+ **
+ ** R e l a t i o n s h i p s D e f i n i t i o n s
+ **
+ **
+ ** The following section defines the relationshoips for the entity beans in the application.
+ -->
+ <relationships>
+ <ejb-relation>
+ <ejb-relation-name>Account-Orders</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>AccountEJB</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>AccountEJB</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>orders</cmr-field-name>
+ </cmr-field>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>accountID</key-column>
+ <foreign-key-column>account_accountID</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+
+
+ <!--
+ **
+ ** A c c o u n t - A c c o u n t P r o f i l e
+ **
+ **
+ ** The following section defines the relationships for the entity beans in the application.
+ -->
+ <ejb-relation>
+ <ejb-relation-name>Account-AccountProfile</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>Account-Has-AccountProfile</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>AccountEJB</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>profile</cmr-field-name>
+ </cmr-field>
+ <foreign-key-column-on-source/>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>userID</key-column>
+ <foreign-key-column>profile_userID</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+
+
+ <!--
+ **
+ ** A c c o u n t - H o l d i n g s
+ **
+ **
+ **
+ -->
+ <ejb-relation>
+ <ejb-relation-name>Account-Holdings</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>AccountEJB</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>AccountEJB</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>holdings</cmr-field-name>
+ </cmr-field>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>accountID</key-column>
+ <foreign-key-column>account_accountID</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+
+
+ <!--
+ **
+ ** Q u o t e - H o l d i n g s
+ **
+ **
+ ** The following section defines the relationships for the entity beans in the application.
+ -->
+ <ejb-relation>
+ <ejb-relation-name>Quote-Holdings</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>Holding-Has-Quote</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>HoldingEJB</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>quote</cmr-field-name>
+ </cmr-field>
+ <foreign-key-column-on-source/>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>symbol</key-column>
+ <foreign-key-column>quote_symbol</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+
+
+ <!--
+ **
+ ** Q u o t e - O r d e r s
+ **
+ **
+ ** The following section defines the relationships for the entity beans in the application.
+ -->
+ <ejb-relation>
+ <ejb-relation-name>Quote-Orders</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>Order-Has-Quote</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>OrderEJB</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>quote</cmr-field-name>
+ </cmr-field>
+ <foreign-key-column-on-source/>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>symbol</key-column>
+ <foreign-key-column>quote_symbol</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+
+
+ <!--
+ **
+ ** O r d e r - H o l d i n g
+ **
+ **
+ ** The following section defines the relationships for the entity beans in the application.
+ -->
+ <ejb-relation>
+ <ejb-relation-name>Order-Holding</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>Order-Has-Holding</ejb-relationship-role-name>
+ <relationship-role-source>
+ <ejb-name>OrderEJB</ejb-name>
+ </relationship-role-source>
+ <cmr-field>
+ <cmr-field-name>holding</cmr-field-name>
+ </cmr-field>
+ <foreign-key-column-on-source/>
+ <role-mapping>
+ <cmr-field-mapping>
+ <key-column>holdingID</key-column>
+ <foreign-key-column>holding_holdingID</foreign-key-column>
+ </cmr-field-mapping>
+ </role-mapping>
+ </ejb-relationship-role>
+ </ejb-relation>
+ </relationships>
+ <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
+
+ <persistence-unit transaction-type="JTA" name="daytrader">
+
+
+ <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
+ <jta-data-source>?name=jdbc/TradeDataSource</jta-data-source>
+ <non-jta-data-source>?name=jdbc/NoTxTradeDataSource</non-jta-data-source>
+ <class>org.apache.geronimo.samples.daytrader.AccountDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.AccountProfileDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.HoldingDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.OrderDataBean</class>
+ <class>org.apache.geronimo.samples.daytrader.QuoteDataBean</class>
+ <exclude-unlisted-classes/>
+ <properties>
+ <property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.DerbyDictionary"/>
+ <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+ <!--<property name="openjpa.Sequence" value="table(Table=OPENJPASEQ, Increment=100)"/>-->
+ </properties>
+ </persistence-unit>
+ </persistence>
+
+ </openejb-jar>
+ </module>
+
+
+ <module>
+ <java>streamer.jar</java>
+ <application-client xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client-1.1">
+ <client-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+ <moduleId>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-jetty-streamer-client</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ <type>car</type>
+ </moduleId>
+ </client-environment>
+ <server-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+ <moduleId>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-jetty-streamer-client-server</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ <type>car</type>
+ </moduleId>
+ </server-environment>
+ <resource>
+ <external-rar>org.apache.geronimo.modules/ge-activemq-rar/1.2-SNAPSHOT/rar</external-rar>
+ <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.1">
+ <resourceadapter>
+ <resourceadapter-instance>
+ <resourceadapter-name>ActiveMQ RA</resourceadapter-name>
+ <config-property-setting name="ServerUrl">tcp://localhost:61616</config-property-setting>
+ <config-property-setting name="UserName">geronimo</config-property-setting>
+ <config-property-setting name="Password">geronimo</config-property-setting>
+ <workmanager>
+ <gbean-link>DefaultWorkManager</gbean-link>
+ </workmanager>
+ </resourceadapter-instance>
+ <outbound-resourceadapter>
+ <connection-definition>
+ <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
+ <connectiondefinition-instance>
+ <name>jms/TopicConnectionFactory</name>
+ <implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>
+ <implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
+ <connectionmanager>
+ <xa-transaction>
+ <transaction-caching/>
+ </xa-transaction>
+ <single-pool>
+ <max-size>10</max-size>
+ <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+ <match-one/>
+ </single-pool>
+ </connectionmanager>
+ </connectiondefinition-instance>
+ </connection-definition>
+ </outbound-resourceadapter>
+ </resourceadapter>
+
+
+ <adminobject>
+ <adminobject-interface>javax.jms.Topic</adminobject-interface>
+ <adminobject-class>org.activemq.message.ActiveMQTopic</adminobject-class>
+ <adminobject-instance>
+ <message-destination-name>TradeStreamerTopic</message-destination-name>
+ <config-property-setting name="PhysicalName">TradeStreamerTopic</config-property-setting>
+ </adminobject-instance>
+ </adminobject>
+
+ </connector>
+ </resource>
+ </application-client>
+ </module>
+
+ <module>
+ <java>wsappclient.jar</java>
+ <application-client xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client-1.1">
+ <client-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+ <moduleId>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-jetty-ws-client</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ <type>car</type>
+ </moduleId>
+ </client-environment>
+ <server-environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+ <moduleId>
+ <groupId>org.apache.geronimo.daytrader</groupId>
+ <artifactId>daytrader-jetty-ws-client-server</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ <type>car</type>
+ </moduleId>
+ </server-environment>
+ </application-client>
+ </module>
+
+ <ext-module>
+ <connector>TradeDataSource</connector>
+ <external-path>org.tranql/tranql-connector-derby-embed-xa/1.2-SNAPSHOT/rar</external-path>
+ <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.1">
+
+
+ <resourceadapter>
+ <outbound-resourceadapter>
+ <connection-definition>
+ <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
+ <connectiondefinition-instance>
+ <name>jdbc/TradeDataSource</name>
+ <config-property-setting name="UserName"></config-property-setting>
+ <config-property-setting name="Password"></config-property-setting>
+ <config-property-setting name="DatabaseName">DaytraderDatabase</config-property-setting>
+ <config-property-setting name="CreateDatabase">true</config-property-setting>
+ <connectionmanager>
+ <xa-transaction>
+ <transaction-caching/>
+ </xa-transaction>
+ <single-pool>
+ <max-size>10</max-size>
+ <min-size>0</min-size>
+ <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+ <idle-timeout-minutes>30</idle-timeout-minutes>
+ <match-one/>
+ </single-pool>
+ </connectionmanager>
+ </connectiondefinition-instance>
+ <connectiondefinition-instance>
+ <name>jdbc/NoTxTradeDataSource</name>
+ <config-property-setting name="UserName"></config-property-setting>
+ <config-property-setting name="Password"></config-property-setting>
+ <config-property-setting name="DatabaseName">DaytraderDatabase</config-property-setting>
+ <config-property-setting name="CreateDatabase">true</config-property-setting>
+ <connectionmanager>
+ <no-transaction/>
+ <single-pool>
+ <max-size>10</max-size>
+ <min-size>0</min-size>
+ <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+ <idle-timeout-minutes>30</idle-timeout-minutes>
+ <match-one/>
+ </single-pool>
+ </connectionmanager>
+ </connectiondefinition-instance>
+ </connection-definition>
+ </outbound-resourceadapter>
+ </resourceadapter>
+ </connector>
+ </ext-module>
+
+
+ <ext-module>
+ <connector>TradeJMS</connector>
+ <external-path>org.apache.geronimo.modules/ge-activemq-rar/1.2-SNAPSHOT/rar</external-path>
+ <connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.1">
+
+ <resourceadapter>
+ <!-- how to connect to the JMS Server -->
+ <resourceadapter-instance>
+ <resourceadapter-name>TradeJMSResources</resourceadapter-name>
+ <config-property-setting name="ServerUrl">tcp://localhost:61616</config-property-setting>
+ <config-property-setting name="UserName">not needed</config-property-setting>
+ <config-property-setting name="Password">not needed</config-property-setting>
+ <workmanager>
+ <gbean-link>DefaultWorkManager</gbean-link>
+ </workmanager>
+ </resourceadapter-instance>
+ <!-- defines a ConnectionFactory -->
+ <outbound-resourceadapter>
+ <connection-definition>
+ <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
+ <connectiondefinition-instance>
+ <name>jms/QueueConnectionFactory</name>
+ <implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>
+ <connectionmanager>
+ <xa-transaction>
+ <transaction-caching/>
+ </xa-transaction>
+ <single-pool>
+ <max-size>10</max-size>
+ <min-size>0</min-size>
+ <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+ <idle-timeout-minutes>0</idle-timeout-minutes>
+ <match-one/>
+ </single-pool>
+ </connectionmanager>
+ </connectiondefinition-instance>
+ </connection-definition>
+ <connection-definition>
+ <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
+ <connectiondefinition-instance>
+ <name>jms/TopicConnectionFactory</name>
+ <implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
+ <connectionmanager>
+ <xa-transaction>
+ <transaction-caching/>
+ </xa-transaction>
+ <single-pool>
+ <max-size>10</max-size>
+ <min-size>0</min-size>
+ <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
+ <idle-timeout-minutes>0</idle-timeout-minutes>
+ <match-one/>
+ </single-pool>
+ </connectionmanager>
+ </connectiondefinition-instance>
+ </connection-definition>
+ </outbound-resourceadapter>
+ </resourceadapter>
+
+ <adminobject>
+ <adminobject-interface>javax.jms.Topic</adminobject-interface>
+ <adminobject-class>org.activemq.message.ActiveMQTopic</adminobject-class>
+ <adminobject-instance>
+ <message-destination-name>TradeStreamerTopic</message-destination-name>
+ <config-property-setting name="PhysicalName">TradeStreamerTopic</config-property-setting>
+ </adminobject-instance>
+ </adminobject>
+
+ <adminobject>
+ <adminobject-interface>javax.jms.Queue</adminobject-interface>
+ <adminobject-class>org.activemq.message.ActiveMQQueue</adminobject-class>
+ <adminobject-instance>
+ <message-destination-name>TradeBrokerQueue</message-destination-name>
+ <config-property-setting name="PhysicalName">TradeBrokerQueue</config-property-setting>
+ </adminobject-instance>
+ </adminobject>
+
+ </connector>
+ </ext-module>
+
+ <!--creates daytrader derby db -->
+ <gbean name="DaytraderResources" class="org.apache.geronimo.connector.DatabaseInitializationGBean">
+ <attribute name="testSQL">select * from holdingejb where 1 = 2</attribute>
+ <attribute name="path">META-INF/daytrader.sql</attribute>
+ <reference name="DataSource">
+ <name>jdbc/TradeDataSource</name>
+ </reference>
+ </gbean>
+</application>
Propchange: geronimo/daytrader/trunk/plans/daytrader-jpa-plan.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/daytrader/trunk/plans/daytrader-jpa-plan.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/daytrader/trunk/plans/daytrader-jpa-plan.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: geronimo/daytrader/trunk/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/daytrader/trunk/pom.xml?view=diff&rev=469284&r1=469283&r2=469284
==============================================================================
--- geronimo/daytrader/trunk/pom.xml (original)
+++ geronimo/daytrader/trunk/pom.xml Mon Oct 30 13:52:55 2006
@@ -138,6 +138,12 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_3.0_spec</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.3</version>
@@ -149,6 +155,68 @@
</dependency>
</dependencies>
</dependencyManagement>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.geronimo.genesis.plugins</groupId>
+ <artifactId>tools-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>validate-java-version</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>require-java-version</goal>
+ </goals>
+ <configuration>
+ <version>1.5*</version>
+ </configuration>
+ </execution>
+
+ <!--
+ NOTE: This will copy LICENSE.txt and NOTICE.txt to classes/META-INF.
+
+ Its a itty-bitty HACK to avoid adding resource definitions to
+ the build, which causes the Eclipse plugin to generate invalid
+ .classpath files. :-(
+ -->
+ <execution>
+ <id>install-legal-files</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-legal-files</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <configuration>
+ <jdkName>1.5</jdkName>
+ <linkModules>true</linkModules>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/geronimo/daytrader/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
<profiles>
<profile>